name: "{{ model_name }}"

layer {
  name: "data"
  type: "Input"
  top: "data"
  input_param {
    shape {
      dim: 1
      dim: 3
      dim: 400
      dim: 680
    }
  }
}

###################################################
############### Data normalization ################
###################################################

layer {
  name: "data/norm/bn"
  type: "BatchNorm"
  bottom: "data"
  top: "data/norm/bn"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "data/norm/scale"
  type: "Scale"
  bottom: "data/norm/bn"
  top: "data/norm/bn"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}

###################################################
##################### Backbone ####################
###################################################

layer {
  name: "init_block1/dim_inc/conv"
  type: "Convolution"
  bottom: "data/norm/bn"
  top: "init_block1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    stride: 2
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "init_block1/dim_inc/bn"
  type: "BatchNorm"
  bottom: "init_block1/dim_inc/conv"
  top: "init_block1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "init_block1/dim_inc/scale"
  type: "Scale"
  bottom: "init_block1/dim_inc/conv"
  top: "init_block1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "init_block1/dim_inc/fn"
  type: "ReLU"
  bottom: "init_block1/dim_inc/conv"
  top: "init_block1/dim_inc/conv"
}
layer {
  name: "bottleneck1_1/dim_red/conv"
  type: "Convolution"
  bottom: "init_block1/dim_inc/conv"
  top: "bottleneck1_1/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 8
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck1_1/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck1_1/dim_red/conv"
  top: "bottleneck1_1/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck1_1/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck1_1/dim_red/conv"
  top: "bottleneck1_1/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck1_1/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck1_1/dim_red/conv"
  top: "bottleneck1_1/dim_red/conv"
}
layer {
  name: "bottleneck1_1/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck1_1/dim_red/conv"
  top: "bottleneck1_1/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 8
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 8
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck1_1/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck1_1/inner/dw1/conv"
  top: "bottleneck1_1/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck1_1/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck1_1/inner/dw1/conv"
  top: "bottleneck1_1/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck1_1/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck1_1/inner/dw1/conv"
  top: "bottleneck1_1/inner/dw1/conv"
}
layer {
  name: "bottleneck1_1/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck1_1/inner/dw1/conv"
  top: "bottleneck1_1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck1_1/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck1_1/dim_inc/conv"
  top: "bottleneck1_1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck1_1/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck1_1/dim_inc/conv"
  top: "bottleneck1_1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck1_1/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck1_1/dim_inc/conv"
  top: "bottleneck1_1/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck1_1/add"
  type: "Eltwise"
  bottom: "init_block1/dim_inc/conv"
  bottom: "bottleneck1_1/dim_inc/dropout"
  top: "bottleneck1_1/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck1_1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck1_1/add"
  top: "bottleneck1_1/add"
}
layer {
  name: "bottleneck1_2/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck1_1/add"
  top: "bottleneck1_2/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 8
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck1_2/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck1_2/dim_red/conv"
  top: "bottleneck1_2/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck1_2/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck1_2/dim_red/conv"
  top: "bottleneck1_2/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck1_2/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck1_2/dim_red/conv"
  top: "bottleneck1_2/dim_red/conv"
}
layer {
  name: "bottleneck1_2/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck1_2/dim_red/conv"
  top: "bottleneck1_2/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 8
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 8
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck1_2/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck1_2/inner/dw1/conv"
  top: "bottleneck1_2/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck1_2/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck1_2/inner/dw1/conv"
  top: "bottleneck1_2/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck1_2/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck1_2/inner/dw1/conv"
  top: "bottleneck1_2/inner/dw1/conv"
}
layer {
  name: "bottleneck1_2/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck1_2/inner/dw1/conv"
  top: "bottleneck1_2/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck1_2/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck1_2/dim_inc/conv"
  top: "bottleneck1_2/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck1_2/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck1_2/dim_inc/conv"
  top: "bottleneck1_2/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck1_2/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck1_2/dim_inc/conv"
  top: "bottleneck1_2/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck1_2/add"
  type: "Eltwise"
  bottom: "bottleneck1_1/add"
  bottom: "bottleneck1_2/dim_inc/dropout"
  top: "bottleneck1_2/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck1_2/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck1_2/add"
  top: "bottleneck1_2/add"
}
layer {
  name: "bottleneck1_3/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck1_2/add"
  top: "bottleneck1_3/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 8
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck1_3/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck1_3/dim_red/conv"
  top: "bottleneck1_3/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck1_3/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck1_3/dim_red/conv"
  top: "bottleneck1_3/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck1_3/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck1_3/dim_red/conv"
  top: "bottleneck1_3/dim_red/conv"
}
layer {
  name: "bottleneck1_3/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck1_3/dim_red/conv"
  top: "bottleneck1_3/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 8
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 8
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck1_3/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck1_3/inner/dw1/conv"
  top: "bottleneck1_3/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck1_3/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck1_3/inner/dw1/conv"
  top: "bottleneck1_3/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck1_3/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck1_3/inner/dw1/conv"
  top: "bottleneck1_3/inner/dw1/conv"
}
layer {
  name: "bottleneck1_3/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck1_3/inner/dw1/conv"
  top: "bottleneck1_3/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck1_3/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck1_3/dim_inc/conv"
  top: "bottleneck1_3/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck1_3/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck1_3/dim_inc/conv"
  top: "bottleneck1_3/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck1_3/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck1_3/dim_inc/conv"
  top: "bottleneck1_3/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck1_3/add"
  type: "Eltwise"
  bottom: "bottleneck1_2/add"
  bottom: "bottleneck1_3/dim_inc/dropout"
  top: "bottleneck1_3/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck1_3/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck1_3/add"
  top: "bottleneck1_3/add"
}
layer {
  name: "bottleneck1_4/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck1_3/add"
  top: "bottleneck1_4/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 8
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck1_4/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck1_4/dim_red/conv"
  top: "bottleneck1_4/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck1_4/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck1_4/dim_red/conv"
  top: "bottleneck1_4/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck1_4/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck1_4/dim_red/conv"
  top: "bottleneck1_4/dim_red/conv"
}
layer {
  name: "bottleneck1_4/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck1_4/dim_red/conv"
  top: "bottleneck1_4/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 8
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 8
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck1_4/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck1_4/inner/dw1/conv"
  top: "bottleneck1_4/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck1_4/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck1_4/inner/dw1/conv"
  top: "bottleneck1_4/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck1_4/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck1_4/inner/dw1/conv"
  top: "bottleneck1_4/inner/dw1/conv"
}
layer {
  name: "bottleneck1_4/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck1_4/inner/dw1/conv"
  top: "bottleneck1_4/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck1_4/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck1_4/dim_inc/conv"
  top: "bottleneck1_4/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck1_4/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck1_4/dim_inc/conv"
  top: "bottleneck1_4/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck1_4/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck1_4/dim_inc/conv"
  top: "bottleneck1_4/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck1_4/add"
  type: "Eltwise"
  bottom: "bottleneck1_3/add"
  bottom: "bottleneck1_4/dim_inc/dropout"
  top: "bottleneck1_4/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck1_4/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck1_4/add"
  top: "bottleneck1_4/add"
}
layer {
  name: "bottleneck2_0/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck1_4/add"
  top: "bottleneck2_0/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_0/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_0/dim_red/conv"
  top: "bottleneck2_0/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_0/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck2_0/dim_red/conv"
  top: "bottleneck2_0/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_0/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_0/dim_red/conv"
  top: "bottleneck2_0/dim_red/conv"
}
layer {
  name: "bottleneck2_0/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck2_0/dim_red/conv"
  top: "bottleneck2_0/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 16
    stride: 2
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_0/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_0/inner/dw1/conv"
  top: "bottleneck2_0/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_0/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck2_0/inner/dw1/conv"
  top: "bottleneck2_0/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_0/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_0/inner/dw1/conv"
  top: "bottleneck2_0/inner/dw1/conv"
}
layer {
  name: "bottleneck2_0/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck2_0/inner/dw1/conv"
  top: "bottleneck2_0/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_0/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_0/dim_inc/conv"
  top: "bottleneck2_0/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_0/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck2_0/dim_inc/conv"
  top: "bottleneck2_0/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_0/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck2_0/dim_inc/conv"
  top: "bottleneck2_0/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck2_0/skip/pooling"
  type: "Pooling"
  bottom: "bottleneck1_4/add"
  top: "bottleneck2_0/skip/pooling"
  pooling_param {
    pool: MAX
    kernel_size: 2
    stride: 2
    pad: 0
  }
}
layer {
  name: "bottleneck2_0/skip/conv"
  type: "Convolution"
  bottom: "bottleneck2_0/skip/pooling"
  top: "bottleneck2_0/skip/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_0/skip/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_0/skip/conv"
  top: "bottleneck2_0/skip/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_0/skip/scale"
  type: "Scale"
  bottom: "bottleneck2_0/skip/conv"
  top: "bottleneck2_0/skip/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_0/add"
  type: "Eltwise"
  bottom: "bottleneck2_0/skip/conv"
  bottom: "bottleneck2_0/dim_inc/dropout"
  top: "bottleneck2_0/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck2_0/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_0/add"
  top: "bottleneck2_0/add"
}
layer {
  name: "bottleneck2_1/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck2_0/add"
  top: "bottleneck2_1/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_1/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_1/dim_red/conv"
  top: "bottleneck2_1/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_1/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck2_1/dim_red/conv"
  top: "bottleneck2_1/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_1/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_1/dim_red/conv"
  top: "bottleneck2_1/dim_red/conv"
}
layer {
  name: "bottleneck2_1/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck2_1/dim_red/conv"
  top: "bottleneck2_1/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 16
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_1/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_1/inner/dw1/conv"
  top: "bottleneck2_1/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_1/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck2_1/inner/dw1/conv"
  top: "bottleneck2_1/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_1/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_1/inner/dw1/conv"
  top: "bottleneck2_1/inner/dw1/conv"
}
layer {
  name: "bottleneck2_1/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck2_1/inner/dw1/conv"
  top: "bottleneck2_1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_1/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_1/dim_inc/conv"
  top: "bottleneck2_1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_1/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck2_1/dim_inc/conv"
  top: "bottleneck2_1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_1/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck2_1/dim_inc/conv"
  top: "bottleneck2_1/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck2_1/add"
  type: "Eltwise"
  bottom: "bottleneck2_0/add"
  bottom: "bottleneck2_1/dim_inc/dropout"
  top: "bottleneck2_1/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck2_1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_1/add"
  top: "bottleneck2_1/add"
}
layer {
  name: "bottleneck2_2/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck2_1/add"
  top: "bottleneck2_2/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_2/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_2/dim_red/conv"
  top: "bottleneck2_2/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_2/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck2_2/dim_red/conv"
  top: "bottleneck2_2/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_2/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_2/dim_red/conv"
  top: "bottleneck2_2/dim_red/conv"
}
layer {
  name: "bottleneck2_2/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck2_2/dim_red/conv"
  top: "bottleneck2_2/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 16
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_2/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_2/inner/dw1/conv"
  top: "bottleneck2_2/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_2/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck2_2/inner/dw1/conv"
  top: "bottleneck2_2/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_2/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_2/inner/dw1/conv"
  top: "bottleneck2_2/inner/dw1/conv"
}
layer {
  name: "bottleneck2_2/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck2_2/inner/dw1/conv"
  top: "bottleneck2_2/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_2/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_2/dim_inc/conv"
  top: "bottleneck2_2/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_2/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck2_2/dim_inc/conv"
  top: "bottleneck2_2/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_2/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck2_2/dim_inc/conv"
  top: "bottleneck2_2/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck2_2/add"
  type: "Eltwise"
  bottom: "bottleneck2_1/add"
  bottom: "bottleneck2_2/dim_inc/dropout"
  top: "bottleneck2_2/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck2_2/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_2/add"
  top: "bottleneck2_2/add"
}
layer {
  name: "bottleneck2_3/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck2_2/add"
  top: "bottleneck2_3/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_3/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_3/dim_red/conv"
  top: "bottleneck2_3/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_3/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck2_3/dim_red/conv"
  top: "bottleneck2_3/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_3/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_3/dim_red/conv"
  top: "bottleneck2_3/dim_red/conv"
}
layer {
  name: "bottleneck2_3/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck2_3/dim_red/conv"
  top: "bottleneck2_3/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 16
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_3/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_3/inner/dw1/conv"
  top: "bottleneck2_3/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_3/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck2_3/inner/dw1/conv"
  top: "bottleneck2_3/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_3/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_3/inner/dw1/conv"
  top: "bottleneck2_3/inner/dw1/conv"
}
layer {
  name: "bottleneck2_3/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck2_3/inner/dw1/conv"
  top: "bottleneck2_3/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_3/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_3/dim_inc/conv"
  top: "bottleneck2_3/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_3/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck2_3/dim_inc/conv"
  top: "bottleneck2_3/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_3/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck2_3/dim_inc/conv"
  top: "bottleneck2_3/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck2_3/add"
  type: "Eltwise"
  bottom: "bottleneck2_2/add"
  bottom: "bottleneck2_3/dim_inc/dropout"
  top: "bottleneck2_3/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck2_3/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_3/add"
  top: "bottleneck2_3/add"
}
layer {
  name: "bottleneck2_4/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck2_3/add"
  top: "bottleneck2_4/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_4/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_4/dim_red/conv"
  top: "bottleneck2_4/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_4/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck2_4/dim_red/conv"
  top: "bottleneck2_4/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_4/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_4/dim_red/conv"
  top: "bottleneck2_4/dim_red/conv"
}
layer {
  name: "bottleneck2_4/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck2_4/dim_red/conv"
  top: "bottleneck2_4/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 16
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_4/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_4/inner/dw1/conv"
  top: "bottleneck2_4/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_4/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck2_4/inner/dw1/conv"
  top: "bottleneck2_4/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_4/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_4/inner/dw1/conv"
  top: "bottleneck2_4/inner/dw1/conv"
}
layer {
  name: "bottleneck2_4/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck2_4/inner/dw1/conv"
  top: "bottleneck2_4/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_4/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_4/dim_inc/conv"
  top: "bottleneck2_4/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_4/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck2_4/dim_inc/conv"
  top: "bottleneck2_4/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_4/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck2_4/dim_inc/conv"
  top: "bottleneck2_4/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck2_4/add"
  type: "Eltwise"
  bottom: "bottleneck2_3/add"
  bottom: "bottleneck2_4/dim_inc/dropout"
  top: "bottleneck2_4/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck2_4/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_4/add"
  top: "bottleneck2_4/add"
}
layer {
  name: "bottleneck2_5/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck2_4/add"
  top: "bottleneck2_5/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_5/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_5/dim_red/conv"
  top: "bottleneck2_5/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_5/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck2_5/dim_red/conv"
  top: "bottleneck2_5/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_5/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_5/dim_red/conv"
  top: "bottleneck2_5/dim_red/conv"
}
layer {
  name: "bottleneck2_5/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck2_5/dim_red/conv"
  top: "bottleneck2_5/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 16
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_5/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_5/inner/dw1/conv"
  top: "bottleneck2_5/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_5/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck2_5/inner/dw1/conv"
  top: "bottleneck2_5/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_5/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_5/inner/dw1/conv"
  top: "bottleneck2_5/inner/dw1/conv"
}
layer {
  name: "bottleneck2_5/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck2_5/inner/dw1/conv"
  top: "bottleneck2_5/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_5/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_5/dim_inc/conv"
  top: "bottleneck2_5/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_5/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck2_5/dim_inc/conv"
  top: "bottleneck2_5/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_5/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck2_5/dim_inc/conv"
  top: "bottleneck2_5/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck2_5/add"
  type: "Eltwise"
  bottom: "bottleneck2_4/add"
  bottom: "bottleneck2_5/dim_inc/dropout"
  top: "bottleneck2_5/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck2_5/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_5/add"
  top: "bottleneck2_5/add"
}
layer {
  name: "bottleneck2_6/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck2_5/add"
  top: "bottleneck2_6/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_6/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_6/dim_red/conv"
  top: "bottleneck2_6/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_6/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck2_6/dim_red/conv"
  top: "bottleneck2_6/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_6/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_6/dim_red/conv"
  top: "bottleneck2_6/dim_red/conv"
}
layer {
  name: "bottleneck2_6/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck2_6/dim_red/conv"
  top: "bottleneck2_6/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 16
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_6/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_6/inner/dw1/conv"
  top: "bottleneck2_6/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_6/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck2_6/inner/dw1/conv"
  top: "bottleneck2_6/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_6/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_6/inner/dw1/conv"
  top: "bottleneck2_6/inner/dw1/conv"
}
layer {
  name: "bottleneck2_6/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck2_6/inner/dw1/conv"
  top: "bottleneck2_6/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_6/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_6/dim_inc/conv"
  top: "bottleneck2_6/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_6/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck2_6/dim_inc/conv"
  top: "bottleneck2_6/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_6/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck2_6/dim_inc/conv"
  top: "bottleneck2_6/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck2_6/add"
  type: "Eltwise"
  bottom: "bottleneck2_5/add"
  bottom: "bottleneck2_6/dim_inc/dropout"
  top: "bottleneck2_6/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck2_6/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_6/add"
  top: "bottleneck2_6/add"
}
layer {
  name: "bottleneck2_7/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck2_6/add"
  top: "bottleneck2_7/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_7/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_7/dim_red/conv"
  top: "bottleneck2_7/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_7/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck2_7/dim_red/conv"
  top: "bottleneck2_7/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_7/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_7/dim_red/conv"
  top: "bottleneck2_7/dim_red/conv"
}
layer {
  name: "bottleneck2_7/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck2_7/dim_red/conv"
  top: "bottleneck2_7/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 16
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_7/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_7/inner/dw1/conv"
  top: "bottleneck2_7/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_7/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck2_7/inner/dw1/conv"
  top: "bottleneck2_7/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_7/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_7/inner/dw1/conv"
  top: "bottleneck2_7/inner/dw1/conv"
}
layer {
  name: "bottleneck2_7/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck2_7/inner/dw1/conv"
  top: "bottleneck2_7/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_7/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_7/dim_inc/conv"
  top: "bottleneck2_7/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_7/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck2_7/dim_inc/conv"
  top: "bottleneck2_7/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_7/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck2_7/dim_inc/conv"
  top: "bottleneck2_7/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck2_7/add"
  type: "Eltwise"
  bottom: "bottleneck2_6/add"
  bottom: "bottleneck2_7/dim_inc/dropout"
  top: "bottleneck2_7/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck2_7/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_7/add"
  top: "bottleneck2_7/add"
}
layer {
  name: "bottleneck2_8/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck2_7/add"
  top: "bottleneck2_8/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_8/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_8/dim_red/conv"
  top: "bottleneck2_8/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_8/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck2_8/dim_red/conv"
  top: "bottleneck2_8/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_8/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_8/dim_red/conv"
  top: "bottleneck2_8/dim_red/conv"
}
layer {
  name: "bottleneck2_8/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck2_8/dim_red/conv"
  top: "bottleneck2_8/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 16
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 16
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_8/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_8/inner/dw1/conv"
  top: "bottleneck2_8/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_8/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck2_8/inner/dw1/conv"
  top: "bottleneck2_8/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_8/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_8/inner/dw1/conv"
  top: "bottleneck2_8/inner/dw1/conv"
}
layer {
  name: "bottleneck2_8/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck2_8/inner/dw1/conv"
  top: "bottleneck2_8/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck2_8/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck2_8/dim_inc/conv"
  top: "bottleneck2_8/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck2_8/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck2_8/dim_inc/conv"
  top: "bottleneck2_8/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck2_8/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck2_8/dim_inc/conv"
  top: "bottleneck2_8/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck2_8/add"
  type: "Eltwise"
  bottom: "bottleneck2_7/add"
  bottom: "bottleneck2_8/dim_inc/dropout"
  top: "bottleneck2_8/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck2_8/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck2_8/add"
  top: "bottleneck2_8/add"
}

###################################################
############ Detection branch step 1 ##############
###################################################

layer {
  name: "bottleneck3_0/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck2_8/add"
  top: "bottleneck3_0/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_0/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_0/dim_red/conv"
  top: "bottleneck3_0/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_0/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck3_0/dim_red/conv"
  top: "bottleneck3_0/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_0/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_0/dim_red/conv"
  top: "bottleneck3_0/dim_red/conv"
}
layer {
  name: "bottleneck3_0/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck3_0/dim_red/conv"
  top: "bottleneck3_0/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 2
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_0/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_0/inner/dw1/conv"
  top: "bottleneck3_0/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_0/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck3_0/inner/dw1/conv"
  top: "bottleneck3_0/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_0/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_0/inner/dw1/conv"
  top: "bottleneck3_0/inner/dw1/conv"
}
layer {
  name: "bottleneck3_0/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck3_0/inner/dw1/conv"
  top: "bottleneck3_0/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_0/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_0/dim_inc/conv"
  top: "bottleneck3_0/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_0/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck3_0/dim_inc/conv"
  top: "bottleneck3_0/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_0/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck3_0/dim_inc/conv"
  top: "bottleneck3_0/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck3_0/skip/pooling"
  type: "Pooling"
  bottom: "bottleneck2_8/add"
  top: "bottleneck3_0/skip/pooling"
  pooling_param {
    pool: MAX
    kernel_size: 2
    stride: 2
    pad: 0
  }
}
layer {
  name: "bottleneck3_0/skip/conv"
  type: "Convolution"
  bottom: "bottleneck3_0/skip/pooling"
  top: "bottleneck3_0/skip/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_0/skip/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_0/skip/conv"
  top: "bottleneck3_0/skip/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_0/skip/scale"
  type: "Scale"
  bottom: "bottleneck3_0/skip/conv"
  top: "bottleneck3_0/skip/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_0/add"
  type: "Eltwise"
  bottom: "bottleneck3_0/skip/conv"
  bottom: "bottleneck3_0/dim_inc/dropout"
  top: "bottleneck3_0/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck3_0/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_0/add"
  top: "bottleneck3_0/add"
}
layer {
  name: "bottleneck3_1/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck3_0/add"
  top: "bottleneck3_1/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_1/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_1/dim_red/conv"
  top: "bottleneck3_1/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_1/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck3_1/dim_red/conv"
  top: "bottleneck3_1/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_1/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_1/dim_red/conv"
  top: "bottleneck3_1/dim_red/conv"
}
layer {
  name: "bottleneck3_1/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck3_1/dim_red/conv"
  top: "bottleneck3_1/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_1/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_1/inner/dw1/conv"
  top: "bottleneck3_1/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_1/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck3_1/inner/dw1/conv"
  top: "bottleneck3_1/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_1/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_1/inner/dw1/conv"
  top: "bottleneck3_1/inner/dw1/conv"
}
layer {
  name: "bottleneck3_1/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck3_1/inner/dw1/conv"
  top: "bottleneck3_1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_1/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_1/dim_inc/conv"
  top: "bottleneck3_1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_1/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck3_1/dim_inc/conv"
  top: "bottleneck3_1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_1/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck3_1/dim_inc/conv"
  top: "bottleneck3_1/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck3_1/add"
  type: "Eltwise"
  bottom: "bottleneck3_0/add"
  bottom: "bottleneck3_1/dim_inc/dropout"
  top: "bottleneck3_1/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck3_1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_1/add"
  top: "bottleneck3_1/add"
}
layer {
  name: "bottleneck3_2/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck3_1/add"
  top: "bottleneck3_2/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_2/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_2/dim_red/conv"
  top: "bottleneck3_2/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_2/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck3_2/dim_red/conv"
  top: "bottleneck3_2/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_2/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_2/dim_red/conv"
  top: "bottleneck3_2/dim_red/conv"
}
layer {
  name: "bottleneck3_2/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck3_2/dim_red/conv"
  top: "bottleneck3_2/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_2/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_2/inner/dw1/conv"
  top: "bottleneck3_2/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_2/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck3_2/inner/dw1/conv"
  top: "bottleneck3_2/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_2/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_2/inner/dw1/conv"
  top: "bottleneck3_2/inner/dw1/conv"
}
layer {
  name: "bottleneck3_2/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck3_2/inner/dw1/conv"
  top: "bottleneck3_2/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_2/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_2/dim_inc/conv"
  top: "bottleneck3_2/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_2/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck3_2/dim_inc/conv"
  top: "bottleneck3_2/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_2/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck3_2/dim_inc/conv"
  top: "bottleneck3_2/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck3_2/add"
  type: "Eltwise"
  bottom: "bottleneck3_1/add"
  bottom: "bottleneck3_2/dim_inc/dropout"
  top: "bottleneck3_2/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck3_2/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_2/add"
  top: "bottleneck3_2/add"
}
layer {
  name: "bottleneck3_3/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck3_2/add"
  top: "bottleneck3_3/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_3/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_3/dim_red/conv"
  top: "bottleneck3_3/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_3/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck3_3/dim_red/conv"
  top: "bottleneck3_3/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_3/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_3/dim_red/conv"
  top: "bottleneck3_3/dim_red/conv"
}
layer {
  name: "bottleneck3_3/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck3_3/dim_red/conv"
  top: "bottleneck3_3/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_3/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_3/inner/dw1/conv"
  top: "bottleneck3_3/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_3/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck3_3/inner/dw1/conv"
  top: "bottleneck3_3/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_3/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_3/inner/dw1/conv"
  top: "bottleneck3_3/inner/dw1/conv"
}
layer {
  name: "bottleneck3_3/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck3_3/inner/dw1/conv"
  top: "bottleneck3_3/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_3/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_3/dim_inc/conv"
  top: "bottleneck3_3/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_3/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck3_3/dim_inc/conv"
  top: "bottleneck3_3/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_3/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck3_3/dim_inc/conv"
  top: "bottleneck3_3/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck3_3/add"
  type: "Eltwise"
  bottom: "bottleneck3_2/add"
  bottom: "bottleneck3_3/dim_inc/dropout"
  top: "bottleneck3_3/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck3_3/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_3/add"
  top: "bottleneck3_3/add"
}
layer {
  name: "bottleneck3_4/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck3_3/add"
  top: "bottleneck3_4/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_4/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_4/dim_red/conv"
  top: "bottleneck3_4/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_4/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck3_4/dim_red/conv"
  top: "bottleneck3_4/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_4/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_4/dim_red/conv"
  top: "bottleneck3_4/dim_red/conv"
}
layer {
  name: "bottleneck3_4/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck3_4/dim_red/conv"
  top: "bottleneck3_4/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_4/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_4/inner/dw1/conv"
  top: "bottleneck3_4/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_4/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck3_4/inner/dw1/conv"
  top: "bottleneck3_4/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_4/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_4/inner/dw1/conv"
  top: "bottleneck3_4/inner/dw1/conv"
}
layer {
  name: "bottleneck3_4/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck3_4/inner/dw1/conv"
  top: "bottleneck3_4/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_4/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_4/dim_inc/conv"
  top: "bottleneck3_4/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_4/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck3_4/dim_inc/conv"
  top: "bottleneck3_4/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_4/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck3_4/dim_inc/conv"
  top: "bottleneck3_4/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck3_4/add"
  type: "Eltwise"
  bottom: "bottleneck3_3/add"
  bottom: "bottleneck3_4/dim_inc/dropout"
  top: "bottleneck3_4/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck3_4/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_4/add"
  top: "bottleneck3_4/add"
}
layer {
  name: "bottleneck3_5/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck3_4/add"
  top: "bottleneck3_5/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_5/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_5/dim_red/conv"
  top: "bottleneck3_5/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_5/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck3_5/dim_red/conv"
  top: "bottleneck3_5/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_5/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_5/dim_red/conv"
  top: "bottleneck3_5/dim_red/conv"
}
layer {
  name: "bottleneck3_5/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck3_5/dim_red/conv"
  top: "bottleneck3_5/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_5/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_5/inner/dw1/conv"
  top: "bottleneck3_5/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_5/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck3_5/inner/dw1/conv"
  top: "bottleneck3_5/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_5/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_5/inner/dw1/conv"
  top: "bottleneck3_5/inner/dw1/conv"
}
layer {
  name: "bottleneck3_5/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck3_5/inner/dw1/conv"
  top: "bottleneck3_5/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_5/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_5/dim_inc/conv"
  top: "bottleneck3_5/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_5/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck3_5/dim_inc/conv"
  top: "bottleneck3_5/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_5/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck3_5/dim_inc/conv"
  top: "bottleneck3_5/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck3_5/add"
  type: "Eltwise"
  bottom: "bottleneck3_4/add"
  bottom: "bottleneck3_5/dim_inc/dropout"
  top: "bottleneck3_5/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck3_5/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_5/add"
  top: "bottleneck3_5/add"
}

###################################################
########## Classification branch step 1 ###########
###################################################

layer {
  name: "cl/bottleneck3_0/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck2_8/add"
  top: "cl/bottleneck3_0/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_0/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_0/dim_red/conv"
  top: "cl/bottleneck3_0/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_0/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_0/dim_red/conv"
  top: "cl/bottleneck3_0/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_0/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_0/dim_red/conv"
  top: "cl/bottleneck3_0/dim_red/conv"
}
layer {
  name: "cl/bottleneck3_0/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_0/dim_red/conv"
  top: "cl/bottleneck3_0/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 2
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_0/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_0/inner/dw1/conv"
  top: "cl/bottleneck3_0/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_0/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_0/inner/dw1/conv"
  top: "cl/bottleneck3_0/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_0/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_0/inner/dw1/conv"
  top: "cl/bottleneck3_0/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck3_0/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_0/inner/dw1/conv"
  top: "cl/bottleneck3_0/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_0/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_0/dim_inc/conv"
  top: "cl/bottleneck3_0/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_0/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_0/dim_inc/conv"
  top: "cl/bottleneck3_0/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_0/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck3_0/dim_inc/conv"
  top: "cl/bottleneck3_0/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck3_0/skip/pooling"
  type: "Pooling"
  bottom: "bottleneck2_8/add"
  top: "cl/bottleneck3_0/skip/pooling"
  pooling_param {
    pool: MAX
    kernel_size: 2
    stride: 2
    pad: 0
  }
}
layer {
  name: "cl/bottleneck3_0/skip/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_0/skip/pooling"
  top: "cl/bottleneck3_0/skip/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_0/skip/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_0/skip/conv"
  top: "cl/bottleneck3_0/skip/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_0/skip/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_0/skip/conv"
  top: "cl/bottleneck3_0/skip/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_0/add"
  type: "Eltwise"
  bottom: "cl/bottleneck3_0/skip/conv"
  bottom: "cl/bottleneck3_0/dim_inc/dropout"
  top: "cl/bottleneck3_0/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck3_0/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_0/add"
  top: "cl/bottleneck3_0/add"
}
layer {
  name: "cl/bottleneck3_1/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_0/add"
  top: "cl/bottleneck3_1/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_1/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_1/dim_red/conv"
  top: "cl/bottleneck3_1/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_1/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_1/dim_red/conv"
  top: "cl/bottleneck3_1/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_1/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_1/dim_red/conv"
  top: "cl/bottleneck3_1/dim_red/conv"
}
layer {
  name: "cl/bottleneck3_1/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_1/dim_red/conv"
  top: "cl/bottleneck3_1/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_1/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_1/inner/dw1/conv"
  top: "cl/bottleneck3_1/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_1/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_1/inner/dw1/conv"
  top: "cl/bottleneck3_1/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_1/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_1/inner/dw1/conv"
  top: "cl/bottleneck3_1/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck3_1/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_1/inner/dw1/conv"
  top: "cl/bottleneck3_1/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_1/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_1/dim_inc/conv"
  top: "cl/bottleneck3_1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_1/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_1/dim_inc/conv"
  top: "cl/bottleneck3_1/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_1/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck3_1/dim_inc/conv"
  top: "cl/bottleneck3_1/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck3_1/add"
  type: "Eltwise"
  bottom: "cl/bottleneck3_0/add"
  bottom: "cl/bottleneck3_1/dim_inc/dropout"
  top: "cl/bottleneck3_1/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck3_1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_1/add"
  top: "cl/bottleneck3_1/add"
}
layer {
  name: "cl/bottleneck3_2/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_1/add"
  top: "cl/bottleneck3_2/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_2/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_2/dim_red/conv"
  top: "cl/bottleneck3_2/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_2/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_2/dim_red/conv"
  top: "cl/bottleneck3_2/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_2/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_2/dim_red/conv"
  top: "cl/bottleneck3_2/dim_red/conv"
}
layer {
  name: "cl/bottleneck3_2/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_2/dim_red/conv"
  top: "cl/bottleneck3_2/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_2/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_2/inner/dw1/conv"
  top: "cl/bottleneck3_2/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_2/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_2/inner/dw1/conv"
  top: "cl/bottleneck3_2/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_2/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_2/inner/dw1/conv"
  top: "cl/bottleneck3_2/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck3_2/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_2/inner/dw1/conv"
  top: "cl/bottleneck3_2/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_2/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_2/dim_inc/conv"
  top: "cl/bottleneck3_2/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_2/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_2/dim_inc/conv"
  top: "cl/bottleneck3_2/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_2/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck3_2/dim_inc/conv"
  top: "cl/bottleneck3_2/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck3_2/add"
  type: "Eltwise"
  bottom: "cl/bottleneck3_1/add"
  bottom: "cl/bottleneck3_2/dim_inc/dropout"
  top: "cl/bottleneck3_2/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck3_2/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_2/add"
  top: "cl/bottleneck3_2/add"
}
layer {
  name: "cl/bottleneck3_3/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_2/add"
  top: "cl/bottleneck3_3/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_3/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_3/dim_red/conv"
  top: "cl/bottleneck3_3/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_3/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_3/dim_red/conv"
  top: "cl/bottleneck3_3/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_3/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_3/dim_red/conv"
  top: "cl/bottleneck3_3/dim_red/conv"
}
layer {
  name: "cl/bottleneck3_3/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_3/dim_red/conv"
  top: "cl/bottleneck3_3/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_3/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_3/inner/dw1/conv"
  top: "cl/bottleneck3_3/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_3/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_3/inner/dw1/conv"
  top: "cl/bottleneck3_3/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_3/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_3/inner/dw1/conv"
  top: "cl/bottleneck3_3/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck3_3/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_3/inner/dw1/conv"
  top: "cl/bottleneck3_3/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_3/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_3/dim_inc/conv"
  top: "cl/bottleneck3_3/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_3/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_3/dim_inc/conv"
  top: "cl/bottleneck3_3/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_3/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck3_3/dim_inc/conv"
  top: "cl/bottleneck3_3/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck3_3/add"
  type: "Eltwise"
  bottom: "cl/bottleneck3_2/add"
  bottom: "cl/bottleneck3_3/dim_inc/dropout"
  top: "cl/bottleneck3_3/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck3_3/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_3/add"
  top: "cl/bottleneck3_3/add"
}
layer {
  name: "cl/bottleneck3_4/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_3/add"
  top: "cl/bottleneck3_4/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_4/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_4/dim_red/conv"
  top: "cl/bottleneck3_4/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_4/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_4/dim_red/conv"
  top: "cl/bottleneck3_4/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_4/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_4/dim_red/conv"
  top: "cl/bottleneck3_4/dim_red/conv"
}
layer {
  name: "cl/bottleneck3_4/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_4/dim_red/conv"
  top: "cl/bottleneck3_4/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_4/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_4/inner/dw1/conv"
  top: "cl/bottleneck3_4/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_4/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_4/inner/dw1/conv"
  top: "cl/bottleneck3_4/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_4/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_4/inner/dw1/conv"
  top: "cl/bottleneck3_4/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck3_4/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_4/inner/dw1/conv"
  top: "cl/bottleneck3_4/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_4/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_4/dim_inc/conv"
  top: "cl/bottleneck3_4/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_4/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_4/dim_inc/conv"
  top: "cl/bottleneck3_4/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_4/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck3_4/dim_inc/conv"
  top: "cl/bottleneck3_4/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck3_4/add"
  type: "Eltwise"
  bottom: "cl/bottleneck3_3/add"
  bottom: "cl/bottleneck3_4/dim_inc/dropout"
  top: "cl/bottleneck3_4/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck3_4/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_4/add"
  top: "cl/bottleneck3_4/add"
}
layer {
  name: "cl/bottleneck3_5/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_4/add"
  top: "cl/bottleneck3_5/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_5/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_5/dim_red/conv"
  top: "cl/bottleneck3_5/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_5/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_5/dim_red/conv"
  top: "cl/bottleneck3_5/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_5/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_5/dim_red/conv"
  top: "cl/bottleneck3_5/dim_red/conv"
}
layer {
  name: "cl/bottleneck3_5/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_5/dim_red/conv"
  top: "cl/bottleneck3_5/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_5/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_5/inner/dw1/conv"
  top: "cl/bottleneck3_5/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_5/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_5/inner/dw1/conv"
  top: "cl/bottleneck3_5/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_5/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_5/inner/dw1/conv"
  top: "cl/bottleneck3_5/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck3_5/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_5/inner/dw1/conv"
  top: "cl/bottleneck3_5/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_5/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_5/dim_inc/conv"
  top: "cl/bottleneck3_5/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_5/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_5/dim_inc/conv"
  top: "cl/bottleneck3_5/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_5/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck3_5/dim_inc/conv"
  top: "cl/bottleneck3_5/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck3_5/add"
  type: "Eltwise"
  bottom: "cl/bottleneck3_4/add"
  bottom: "cl/bottleneck3_5/dim_inc/dropout"
  top: "cl/bottleneck3_5/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck3_5/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_5/add"
  top: "cl/bottleneck3_5/add"
}

###################################################
################# Cross-branching 1 ###############
###################################################

layer {
  name: "cross_branch1/conv"
  type: "Convolution"
  bottom: "bottleneck3_5/add"
  top: "cross_branch1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cross_branch1/bn"
  type: "BatchNorm"
  bottom: "cross_branch1/conv"
  top: "cross_branch1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cross_branch1/scale"
  type: "Scale"
  bottom: "cross_branch1/conv"
  top: "cross_branch1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cross_branch1/add"
  type: "Eltwise"
  bottom: "cross_branch1/conv"
  bottom: "cl/bottleneck3_5/add"
  top: "cross_branch1/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cross_branch1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cross_branch1/add"
  top: "cross_branch1/add"
}

###################################################
############ Detection branch step 2 ##############
###################################################

layer {
  name: "bottleneck3_6/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck3_5/add"
  top: "bottleneck3_6/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_6/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_6/dim_red/conv"
  top: "bottleneck3_6/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_6/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck3_6/dim_red/conv"
  top: "bottleneck3_6/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_6/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_6/dim_red/conv"
  top: "bottleneck3_6/dim_red/conv"
}
layer {
  name: "bottleneck3_6/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck3_6/dim_red/conv"
  top: "bottleneck3_6/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_6/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_6/inner/dw1/conv"
  top: "bottleneck3_6/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_6/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck3_6/inner/dw1/conv"
  top: "bottleneck3_6/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_6/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_6/inner/dw1/conv"
  top: "bottleneck3_6/inner/dw1/conv"
}
layer {
  name: "bottleneck3_6/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck3_6/inner/dw1/conv"
  top: "bottleneck3_6/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_6/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_6/dim_inc/conv"
  top: "bottleneck3_6/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_6/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck3_6/dim_inc/conv"
  top: "bottleneck3_6/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_6/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck3_6/dim_inc/conv"
  top: "bottleneck3_6/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck3_6/add"
  type: "Eltwise"
  bottom: "bottleneck3_5/add"
  bottom: "bottleneck3_6/dim_inc/dropout"
  top: "bottleneck3_6/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck3_6/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_6/add"
  top: "bottleneck3_6/add"
}
layer {
  name: "bottleneck3_7/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck3_6/add"
  top: "bottleneck3_7/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_7/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_7/dim_red/conv"
  top: "bottleneck3_7/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_7/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck3_7/dim_red/conv"
  top: "bottleneck3_7/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_7/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_7/dim_red/conv"
  top: "bottleneck3_7/dim_red/conv"
}
layer {
  name: "bottleneck3_7/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck3_7/dim_red/conv"
  top: "bottleneck3_7/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_7/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_7/inner/dw1/conv"
  top: "bottleneck3_7/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_7/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck3_7/inner/dw1/conv"
  top: "bottleneck3_7/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_7/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_7/inner/dw1/conv"
  top: "bottleneck3_7/inner/dw1/conv"
}
layer {
  name: "bottleneck3_7/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck3_7/inner/dw1/conv"
  top: "bottleneck3_7/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_7/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_7/dim_inc/conv"
  top: "bottleneck3_7/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_7/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck3_7/dim_inc/conv"
  top: "bottleneck3_7/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_7/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck3_7/dim_inc/conv"
  top: "bottleneck3_7/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck3_7/add"
  type: "Eltwise"
  bottom: "bottleneck3_6/add"
  bottom: "bottleneck3_7/dim_inc/dropout"
  top: "bottleneck3_7/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck3_7/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_7/add"
  top: "bottleneck3_7/add"
}
layer {
  name: "bottleneck3_8/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck3_7/add"
  top: "bottleneck3_8/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_8/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_8/dim_red/conv"
  top: "bottleneck3_8/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_8/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck3_8/dim_red/conv"
  top: "bottleneck3_8/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_8/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_8/dim_red/conv"
  top: "bottleneck3_8/dim_red/conv"
}
layer {
  name: "bottleneck3_8/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck3_8/dim_red/conv"
  top: "bottleneck3_8/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_8/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_8/inner/dw1/conv"
  top: "bottleneck3_8/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_8/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck3_8/inner/dw1/conv"
  top: "bottleneck3_8/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_8/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_8/inner/dw1/conv"
  top: "bottleneck3_8/inner/dw1/conv"
}
layer {
  name: "bottleneck3_8/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck3_8/inner/dw1/conv"
  top: "bottleneck3_8/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_8/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_8/dim_inc/conv"
  top: "bottleneck3_8/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_8/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck3_8/dim_inc/conv"
  top: "bottleneck3_8/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_8/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck3_8/dim_inc/conv"
  top: "bottleneck3_8/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck3_8/add"
  type: "Eltwise"
  bottom: "bottleneck3_7/add"
  bottom: "bottleneck3_8/dim_inc/dropout"
  top: "bottleneck3_8/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck3_8/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_8/add"
  top: "bottleneck3_8/add"
}
layer {
  name: "bottleneck3_9/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck3_8/add"
  top: "bottleneck3_9/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_9/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_9/dim_red/conv"
  top: "bottleneck3_9/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_9/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck3_9/dim_red/conv"
  top: "bottleneck3_9/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_9/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_9/dim_red/conv"
  top: "bottleneck3_9/dim_red/conv"
}
layer {
  name: "bottleneck3_9/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck3_9/dim_red/conv"
  top: "bottleneck3_9/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_9/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_9/inner/dw1/conv"
  top: "bottleneck3_9/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_9/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck3_9/inner/dw1/conv"
  top: "bottleneck3_9/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_9/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_9/inner/dw1/conv"
  top: "bottleneck3_9/inner/dw1/conv"
}
layer {
  name: "bottleneck3_9/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck3_9/inner/dw1/conv"
  top: "bottleneck3_9/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_9/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_9/dim_inc/conv"
  top: "bottleneck3_9/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_9/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck3_9/dim_inc/conv"
  top: "bottleneck3_9/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_9/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck3_9/dim_inc/conv"
  top: "bottleneck3_9/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck3_9/add"
  type: "Eltwise"
  bottom: "bottleneck3_8/add"
  bottom: "bottleneck3_9/dim_inc/dropout"
  top: "bottleneck3_9/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck3_9/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_9/add"
  top: "bottleneck3_9/add"
}
layer {
  name: "bottleneck3_10/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck3_9/add"
  top: "bottleneck3_10/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_10/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_10/dim_red/conv"
  top: "bottleneck3_10/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_10/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck3_10/dim_red/conv"
  top: "bottleneck3_10/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_10/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_10/dim_red/conv"
  top: "bottleneck3_10/dim_red/conv"
}
layer {
  name: "bottleneck3_10/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck3_10/dim_red/conv"
  top: "bottleneck3_10/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_10/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_10/inner/dw1/conv"
  top: "bottleneck3_10/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_10/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck3_10/inner/dw1/conv"
  top: "bottleneck3_10/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_10/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_10/inner/dw1/conv"
  top: "bottleneck3_10/inner/dw1/conv"
}
layer {
  name: "bottleneck3_10/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck3_10/inner/dw1/conv"
  top: "bottleneck3_10/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck3_10/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck3_10/dim_inc/conv"
  top: "bottleneck3_10/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck3_10/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck3_10/dim_inc/conv"
  top: "bottleneck3_10/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck3_10/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck3_10/dim_inc/conv"
  top: "bottleneck3_10/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck3_10/add"
  type: "Eltwise"
  bottom: "bottleneck3_9/add"
  bottom: "bottleneck3_10/dim_inc/dropout"
  top: "bottleneck3_10/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck3_10/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck3_10/add"
  top: "bottleneck3_10/add"
}
layer {
  name: "bottleneck4_0/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck3_10/add"
  top: "bottleneck4_0/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_0/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_0/dim_red/conv"
  top: "bottleneck4_0/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_0/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck4_0/dim_red/conv"
  top: "bottleneck4_0/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_0/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_0/dim_red/conv"
  top: "bottleneck4_0/dim_red/conv"
}
layer {
  name: "bottleneck4_0/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck4_0/dim_red/conv"
  top: "bottleneck4_0/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 2
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_0/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_0/inner/dw1/conv"
  top: "bottleneck4_0/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_0/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck4_0/inner/dw1/conv"
  top: "bottleneck4_0/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_0/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_0/inner/dw1/conv"
  top: "bottleneck4_0/inner/dw1/conv"
}
layer {
  name: "bottleneck4_0/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck4_0/inner/dw1/conv"
  top: "bottleneck4_0/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_0/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_0/dim_inc/conv"
  top: "bottleneck4_0/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_0/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck4_0/dim_inc/conv"
  top: "bottleneck4_0/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_0/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck4_0/dim_inc/conv"
  top: "bottleneck4_0/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck4_0/skip/pooling"
  type: "Pooling"
  bottom: "bottleneck3_10/add"
  top: "bottleneck4_0/skip/pooling"
  pooling_param {
    pool: MAX
    kernel_size: 2
    stride: 2
    pad: 0
  }
}
layer {
  name: "bottleneck4_0/skip/conv"
  type: "Convolution"
  bottom: "bottleneck4_0/skip/pooling"
  top: "bottleneck4_0/skip/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_0/skip/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_0/skip/conv"
  top: "bottleneck4_0/skip/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_0/skip/scale"
  type: "Scale"
  bottom: "bottleneck4_0/skip/conv"
  top: "bottleneck4_0/skip/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_0/add"
  type: "Eltwise"
  bottom: "bottleneck4_0/skip/conv"
  bottom: "bottleneck4_0/dim_inc/dropout"
  top: "bottleneck4_0/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck4_0/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_0/add"
  top: "bottleneck4_0/add"
}
layer {
  name: "bottleneck4_1/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck4_0/add"
  top: "bottleneck4_1/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_1/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_1/dim_red/conv"
  top: "bottleneck4_1/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_1/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck4_1/dim_red/conv"
  top: "bottleneck4_1/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_1/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_1/dim_red/conv"
  top: "bottleneck4_1/dim_red/conv"
}
layer {
  name: "bottleneck4_1/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck4_1/dim_red/conv"
  top: "bottleneck4_1/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_1/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_1/inner/dw1/conv"
  top: "bottleneck4_1/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_1/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck4_1/inner/dw1/conv"
  top: "bottleneck4_1/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_1/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_1/inner/dw1/conv"
  top: "bottleneck4_1/inner/dw1/conv"
}
layer {
  name: "bottleneck4_1/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck4_1/inner/dw1/conv"
  top: "bottleneck4_1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_1/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_1/dim_inc/conv"
  top: "bottleneck4_1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_1/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck4_1/dim_inc/conv"
  top: "bottleneck4_1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_1/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck4_1/dim_inc/conv"
  top: "bottleneck4_1/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck4_1/add"
  type: "Eltwise"
  bottom: "bottleneck4_0/add"
  bottom: "bottleneck4_1/dim_inc/dropout"
  top: "bottleneck4_1/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck4_1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_1/add"
  top: "bottleneck4_1/add"
}
layer {
  name: "bottleneck4_2/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck4_1/add"
  top: "bottleneck4_2/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_2/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_2/dim_red/conv"
  top: "bottleneck4_2/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_2/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck4_2/dim_red/conv"
  top: "bottleneck4_2/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_2/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_2/dim_red/conv"
  top: "bottleneck4_2/dim_red/conv"
}
layer {
  name: "bottleneck4_2/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck4_2/dim_red/conv"
  top: "bottleneck4_2/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_2/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_2/inner/dw1/conv"
  top: "bottleneck4_2/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_2/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck4_2/inner/dw1/conv"
  top: "bottleneck4_2/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_2/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_2/inner/dw1/conv"
  top: "bottleneck4_2/inner/dw1/conv"
}
layer {
  name: "bottleneck4_2/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck4_2/inner/dw1/conv"
  top: "bottleneck4_2/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_2/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_2/dim_inc/conv"
  top: "bottleneck4_2/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_2/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck4_2/dim_inc/conv"
  top: "bottleneck4_2/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_2/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck4_2/dim_inc/conv"
  top: "bottleneck4_2/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck4_2/add"
  type: "Eltwise"
  bottom: "bottleneck4_1/add"
  bottom: "bottleneck4_2/dim_inc/dropout"
  top: "bottleneck4_2/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck4_2/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_2/add"
  top: "bottleneck4_2/add"
}
layer {
  name: "bottleneck4_3/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck4_2/add"
  top: "bottleneck4_3/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_3/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_3/dim_red/conv"
  top: "bottleneck4_3/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_3/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck4_3/dim_red/conv"
  top: "bottleneck4_3/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_3/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_3/dim_red/conv"
  top: "bottleneck4_3/dim_red/conv"
}
layer {
  name: "bottleneck4_3/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck4_3/dim_red/conv"
  top: "bottleneck4_3/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_3/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_3/inner/dw1/conv"
  top: "bottleneck4_3/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_3/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck4_3/inner/dw1/conv"
  top: "bottleneck4_3/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_3/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_3/inner/dw1/conv"
  top: "bottleneck4_3/inner/dw1/conv"
}
layer {
  name: "bottleneck4_3/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck4_3/inner/dw1/conv"
  top: "bottleneck4_3/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_3/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_3/dim_inc/conv"
  top: "bottleneck4_3/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_3/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck4_3/dim_inc/conv"
  top: "bottleneck4_3/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_3/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck4_3/dim_inc/conv"
  top: "bottleneck4_3/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck4_3/add"
  type: "Eltwise"
  bottom: "bottleneck4_2/add"
  bottom: "bottleneck4_3/dim_inc/dropout"
  top: "bottleneck4_3/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck4_3/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_3/add"
  top: "bottleneck4_3/add"
}
layer {
  name: "bottleneck4_4/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck4_3/add"
  top: "bottleneck4_4/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_4/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_4/dim_red/conv"
  top: "bottleneck4_4/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_4/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck4_4/dim_red/conv"
  top: "bottleneck4_4/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_4/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_4/dim_red/conv"
  top: "bottleneck4_4/dim_red/conv"
}
layer {
  name: "bottleneck4_4/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck4_4/dim_red/conv"
  top: "bottleneck4_4/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_4/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_4/inner/dw1/conv"
  top: "bottleneck4_4/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_4/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck4_4/inner/dw1/conv"
  top: "bottleneck4_4/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_4/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_4/inner/dw1/conv"
  top: "bottleneck4_4/inner/dw1/conv"
}
layer {
  name: "bottleneck4_4/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck4_4/inner/dw1/conv"
  top: "bottleneck4_4/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_4/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_4/dim_inc/conv"
  top: "bottleneck4_4/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_4/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck4_4/dim_inc/conv"
  top: "bottleneck4_4/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_4/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck4_4/dim_inc/conv"
  top: "bottleneck4_4/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck4_4/add"
  type: "Eltwise"
  bottom: "bottleneck4_3/add"
  bottom: "bottleneck4_4/dim_inc/dropout"
  top: "bottleneck4_4/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck4_4/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_4/add"
  top: "bottleneck4_4/add"
}
layer {
  name: "bottleneck4_5/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck4_4/add"
  top: "bottleneck4_5/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_5/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_5/dim_red/conv"
  top: "bottleneck4_5/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_5/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck4_5/dim_red/conv"
  top: "bottleneck4_5/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_5/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_5/dim_red/conv"
  top: "bottleneck4_5/dim_red/conv"
}
layer {
  name: "bottleneck4_5/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck4_5/dim_red/conv"
  top: "bottleneck4_5/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_5/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_5/inner/dw1/conv"
  top: "bottleneck4_5/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_5/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck4_5/inner/dw1/conv"
  top: "bottleneck4_5/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_5/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_5/inner/dw1/conv"
  top: "bottleneck4_5/inner/dw1/conv"
}
layer {
  name: "bottleneck4_5/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck4_5/inner/dw1/conv"
  top: "bottleneck4_5/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_5/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_5/dim_inc/conv"
  top: "bottleneck4_5/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_5/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck4_5/dim_inc/conv"
  top: "bottleneck4_5/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_5/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck4_5/dim_inc/conv"
  top: "bottleneck4_5/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck4_5/add"
  type: "Eltwise"
  bottom: "bottleneck4_4/add"
  bottom: "bottleneck4_5/dim_inc/dropout"
  top: "bottleneck4_5/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck4_5/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_5/add"
  top: "bottleneck4_5/add"
}

###################################################
########## Classification branch step 2 ###########
###################################################

layer {
  name: "cl/bottleneck3_6/dim_red/conv"
  type: "Convolution"
  bottom: "cross_branch1/add"
  top: "cl/bottleneck3_6/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_6/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_6/dim_red/conv"
  top: "cl/bottleneck3_6/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_6/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_6/dim_red/conv"
  top: "cl/bottleneck3_6/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_6/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_6/dim_red/conv"
  top: "cl/bottleneck3_6/dim_red/conv"
}
layer {
  name: "cl/bottleneck3_6/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_6/dim_red/conv"
  top: "cl/bottleneck3_6/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_6/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_6/inner/dw1/conv"
  top: "cl/bottleneck3_6/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_6/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_6/inner/dw1/conv"
  top: "cl/bottleneck3_6/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_6/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_6/inner/dw1/conv"
  top: "cl/bottleneck3_6/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck3_6/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_6/inner/dw1/conv"
  top: "cl/bottleneck3_6/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_6/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_6/dim_inc/conv"
  top: "cl/bottleneck3_6/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_6/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_6/dim_inc/conv"
  top: "cl/bottleneck3_6/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_6/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck3_6/dim_inc/conv"
  top: "cl/bottleneck3_6/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck3_6/add"
  type: "Eltwise"
  bottom: "cross_branch1/add"
  bottom: "cl/bottleneck3_6/dim_inc/dropout"
  top: "cl/bottleneck3_6/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck3_6/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_6/add"
  top: "cl/bottleneck3_6/add"
}
layer {
  name: "cl/bottleneck3_7/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_6/add"
  top: "cl/bottleneck3_7/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_7/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_7/dim_red/conv"
  top: "cl/bottleneck3_7/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_7/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_7/dim_red/conv"
  top: "cl/bottleneck3_7/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_7/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_7/dim_red/conv"
  top: "cl/bottleneck3_7/dim_red/conv"
}
layer {
  name: "cl/bottleneck3_7/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_7/dim_red/conv"
  top: "cl/bottleneck3_7/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_7/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_7/inner/dw1/conv"
  top: "cl/bottleneck3_7/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_7/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_7/inner/dw1/conv"
  top: "cl/bottleneck3_7/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_7/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_7/inner/dw1/conv"
  top: "cl/bottleneck3_7/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck3_7/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_7/inner/dw1/conv"
  top: "cl/bottleneck3_7/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_7/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_7/dim_inc/conv"
  top: "cl/bottleneck3_7/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_7/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_7/dim_inc/conv"
  top: "cl/bottleneck3_7/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_7/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck3_7/dim_inc/conv"
  top: "cl/bottleneck3_7/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck3_7/add"
  type: "Eltwise"
  bottom: "cl/bottleneck3_6/add"
  bottom: "cl/bottleneck3_7/dim_inc/dropout"
  top: "cl/bottleneck3_7/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck3_7/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_7/add"
  top: "cl/bottleneck3_7/add"
}
layer {
  name: "cl/bottleneck3_8/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_7/add"
  top: "cl/bottleneck3_8/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_8/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_8/dim_red/conv"
  top: "cl/bottleneck3_8/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_8/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_8/dim_red/conv"
  top: "cl/bottleneck3_8/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_8/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_8/dim_red/conv"
  top: "cl/bottleneck3_8/dim_red/conv"
}
layer {
  name: "cl/bottleneck3_8/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_8/dim_red/conv"
  top: "cl/bottleneck3_8/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_8/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_8/inner/dw1/conv"
  top: "cl/bottleneck3_8/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_8/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_8/inner/dw1/conv"
  top: "cl/bottleneck3_8/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_8/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_8/inner/dw1/conv"
  top: "cl/bottleneck3_8/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck3_8/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_8/inner/dw1/conv"
  top: "cl/bottleneck3_8/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_8/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_8/dim_inc/conv"
  top: "cl/bottleneck3_8/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_8/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_8/dim_inc/conv"
  top: "cl/bottleneck3_8/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_8/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck3_8/dim_inc/conv"
  top: "cl/bottleneck3_8/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck3_8/add"
  type: "Eltwise"
  bottom: "cl/bottleneck3_7/add"
  bottom: "cl/bottleneck3_8/dim_inc/dropout"
  top: "cl/bottleneck3_8/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck3_8/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_8/add"
  top: "cl/bottleneck3_8/add"
}
layer {
  name: "cl/bottleneck3_9/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_8/add"
  top: "cl/bottleneck3_9/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_9/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_9/dim_red/conv"
  top: "cl/bottleneck3_9/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_9/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_9/dim_red/conv"
  top: "cl/bottleneck3_9/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_9/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_9/dim_red/conv"
  top: "cl/bottleneck3_9/dim_red/conv"
}
layer {
  name: "cl/bottleneck3_9/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_9/dim_red/conv"
  top: "cl/bottleneck3_9/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_9/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_9/inner/dw1/conv"
  top: "cl/bottleneck3_9/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_9/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_9/inner/dw1/conv"
  top: "cl/bottleneck3_9/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_9/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_9/inner/dw1/conv"
  top: "cl/bottleneck3_9/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck3_9/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_9/inner/dw1/conv"
  top: "cl/bottleneck3_9/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_9/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_9/dim_inc/conv"
  top: "cl/bottleneck3_9/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_9/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_9/dim_inc/conv"
  top: "cl/bottleneck3_9/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_9/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck3_9/dim_inc/conv"
  top: "cl/bottleneck3_9/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck3_9/add"
  type: "Eltwise"
  bottom: "cl/bottleneck3_8/add"
  bottom: "cl/bottleneck3_9/dim_inc/dropout"
  top: "cl/bottleneck3_9/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck3_9/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_9/add"
  top: "cl/bottleneck3_9/add"
}
layer {
  name: "cl/bottleneck3_10/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_9/add"
  top: "cl/bottleneck3_10/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_10/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_10/dim_red/conv"
  top: "cl/bottleneck3_10/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_10/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_10/dim_red/conv"
  top: "cl/bottleneck3_10/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_10/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_10/dim_red/conv"
  top: "cl/bottleneck3_10/dim_red/conv"
}
layer {
  name: "cl/bottleneck3_10/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_10/dim_red/conv"
  top: "cl/bottleneck3_10/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 32
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 32
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_10/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_10/inner/dw1/conv"
  top: "cl/bottleneck3_10/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_10/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_10/inner/dw1/conv"
  top: "cl/bottleneck3_10/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_10/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_10/inner/dw1/conv"
  top: "cl/bottleneck3_10/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck3_10/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_10/inner/dw1/conv"
  top: "cl/bottleneck3_10/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck3_10/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck3_10/dim_inc/conv"
  top: "cl/bottleneck3_10/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck3_10/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck3_10/dim_inc/conv"
  top: "cl/bottleneck3_10/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck3_10/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck3_10/dim_inc/conv"
  top: "cl/bottleneck3_10/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck3_10/add"
  type: "Eltwise"
  bottom: "cl/bottleneck3_9/add"
  bottom: "cl/bottleneck3_10/dim_inc/dropout"
  top: "cl/bottleneck3_10/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck3_10/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck3_10/add"
  top: "cl/bottleneck3_10/add"
}
layer {
  name: "cl/bottleneck4_0/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck3_10/add"
  top: "cl/bottleneck4_0/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_0/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_0/dim_red/conv"
  top: "cl/bottleneck4_0/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_0/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_0/dim_red/conv"
  top: "cl/bottleneck4_0/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_0/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_0/dim_red/conv"
  top: "cl/bottleneck4_0/dim_red/conv"
}
layer {
  name: "cl/bottleneck4_0/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_0/dim_red/conv"
  top: "cl/bottleneck4_0/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 2
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_0/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_0/inner/dw1/conv"
  top: "cl/bottleneck4_0/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_0/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_0/inner/dw1/conv"
  top: "cl/bottleneck4_0/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_0/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_0/inner/dw1/conv"
  top: "cl/bottleneck4_0/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck4_0/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_0/inner/dw1/conv"
  top: "cl/bottleneck4_0/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_0/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_0/dim_inc/conv"
  top: "cl/bottleneck4_0/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_0/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_0/dim_inc/conv"
  top: "cl/bottleneck4_0/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_0/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck4_0/dim_inc/conv"
  top: "cl/bottleneck4_0/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck4_0/skip/pooling"
  type: "Pooling"
  bottom: "cl/bottleneck3_10/add"
  top: "cl/bottleneck4_0/skip/pooling"
  pooling_param {
    pool: MAX
    kernel_size: 2
    stride: 2
    pad: 0
  }
}
layer {
  name: "cl/bottleneck4_0/skip/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_0/skip/pooling"
  top: "cl/bottleneck4_0/skip/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_0/skip/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_0/skip/conv"
  top: "cl/bottleneck4_0/skip/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_0/skip/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_0/skip/conv"
  top: "cl/bottleneck4_0/skip/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_0/add"
  type: "Eltwise"
  bottom: "cl/bottleneck4_0/skip/conv"
  bottom: "cl/bottleneck4_0/dim_inc/dropout"
  top: "cl/bottleneck4_0/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck4_0/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_0/add"
  top: "cl/bottleneck4_0/add"
}
layer {
  name: "cl/bottleneck4_1/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_0/add"
  top: "cl/bottleneck4_1/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_1/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_1/dim_red/conv"
  top: "cl/bottleneck4_1/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_1/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_1/dim_red/conv"
  top: "cl/bottleneck4_1/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_1/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_1/dim_red/conv"
  top: "cl/bottleneck4_1/dim_red/conv"
}
layer {
  name: "cl/bottleneck4_1/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_1/dim_red/conv"
  top: "cl/bottleneck4_1/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_1/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_1/inner/dw1/conv"
  top: "cl/bottleneck4_1/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_1/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_1/inner/dw1/conv"
  top: "cl/bottleneck4_1/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_1/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_1/inner/dw1/conv"
  top: "cl/bottleneck4_1/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck4_1/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_1/inner/dw1/conv"
  top: "cl/bottleneck4_1/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_1/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_1/dim_inc/conv"
  top: "cl/bottleneck4_1/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_1/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_1/dim_inc/conv"
  top: "cl/bottleneck4_1/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_1/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck4_1/dim_inc/conv"
  top: "cl/bottleneck4_1/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck4_1/add"
  type: "Eltwise"
  bottom: "cl/bottleneck4_0/add"
  bottom: "cl/bottleneck4_1/dim_inc/dropout"
  top: "cl/bottleneck4_1/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck4_1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_1/add"
  top: "cl/bottleneck4_1/add"
}
layer {
  name: "cl/bottleneck4_2/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_1/add"
  top: "cl/bottleneck4_2/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_2/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_2/dim_red/conv"
  top: "cl/bottleneck4_2/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_2/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_2/dim_red/conv"
  top: "cl/bottleneck4_2/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_2/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_2/dim_red/conv"
  top: "cl/bottleneck4_2/dim_red/conv"
}
layer {
  name: "cl/bottleneck4_2/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_2/dim_red/conv"
  top: "cl/bottleneck4_2/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_2/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_2/inner/dw1/conv"
  top: "cl/bottleneck4_2/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_2/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_2/inner/dw1/conv"
  top: "cl/bottleneck4_2/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_2/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_2/inner/dw1/conv"
  top: "cl/bottleneck4_2/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck4_2/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_2/inner/dw1/conv"
  top: "cl/bottleneck4_2/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_2/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_2/dim_inc/conv"
  top: "cl/bottleneck4_2/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_2/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_2/dim_inc/conv"
  top: "cl/bottleneck4_2/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_2/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck4_2/dim_inc/conv"
  top: "cl/bottleneck4_2/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck4_2/add"
  type: "Eltwise"
  bottom: "cl/bottleneck4_1/add"
  bottom: "cl/bottleneck4_2/dim_inc/dropout"
  top: "cl/bottleneck4_2/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck4_2/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_2/add"
  top: "cl/bottleneck4_2/add"
}
layer {
  name: "cl/bottleneck4_3/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_2/add"
  top: "cl/bottleneck4_3/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_3/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_3/dim_red/conv"
  top: "cl/bottleneck4_3/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_3/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_3/dim_red/conv"
  top: "cl/bottleneck4_3/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_3/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_3/dim_red/conv"
  top: "cl/bottleneck4_3/dim_red/conv"
}
layer {
  name: "cl/bottleneck4_3/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_3/dim_red/conv"
  top: "cl/bottleneck4_3/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_3/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_3/inner/dw1/conv"
  top: "cl/bottleneck4_3/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_3/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_3/inner/dw1/conv"
  top: "cl/bottleneck4_3/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_3/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_3/inner/dw1/conv"
  top: "cl/bottleneck4_3/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck4_3/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_3/inner/dw1/conv"
  top: "cl/bottleneck4_3/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_3/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_3/dim_inc/conv"
  top: "cl/bottleneck4_3/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_3/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_3/dim_inc/conv"
  top: "cl/bottleneck4_3/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_3/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck4_3/dim_inc/conv"
  top: "cl/bottleneck4_3/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck4_3/add"
  type: "Eltwise"
  bottom: "cl/bottleneck4_2/add"
  bottom: "cl/bottleneck4_3/dim_inc/dropout"
  top: "cl/bottleneck4_3/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck4_3/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_3/add"
  top: "cl/bottleneck4_3/add"
}
layer {
  name: "cl/bottleneck4_4/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_3/add"
  top: "cl/bottleneck4_4/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_4/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_4/dim_red/conv"
  top: "cl/bottleneck4_4/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_4/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_4/dim_red/conv"
  top: "cl/bottleneck4_4/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_4/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_4/dim_red/conv"
  top: "cl/bottleneck4_4/dim_red/conv"
}
layer {
  name: "cl/bottleneck4_4/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_4/dim_red/conv"
  top: "cl/bottleneck4_4/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_4/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_4/inner/dw1/conv"
  top: "cl/bottleneck4_4/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_4/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_4/inner/dw1/conv"
  top: "cl/bottleneck4_4/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_4/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_4/inner/dw1/conv"
  top: "cl/bottleneck4_4/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck4_4/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_4/inner/dw1/conv"
  top: "cl/bottleneck4_4/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_4/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_4/dim_inc/conv"
  top: "cl/bottleneck4_4/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_4/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_4/dim_inc/conv"
  top: "cl/bottleneck4_4/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_4/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck4_4/dim_inc/conv"
  top: "cl/bottleneck4_4/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck4_4/add"
  type: "Eltwise"
  bottom: "cl/bottleneck4_3/add"
  bottom: "cl/bottleneck4_4/dim_inc/dropout"
  top: "cl/bottleneck4_4/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck4_4/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_4/add"
  top: "cl/bottleneck4_4/add"
}
layer {
  name: "cl/bottleneck4_5/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_4/add"
  top: "cl/bottleneck4_5/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_5/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_5/dim_red/conv"
  top: "cl/bottleneck4_5/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_5/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_5/dim_red/conv"
  top: "cl/bottleneck4_5/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_5/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_5/dim_red/conv"
  top: "cl/bottleneck4_5/dim_red/conv"
}
layer {
  name: "cl/bottleneck4_5/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_5/dim_red/conv"
  top: "cl/bottleneck4_5/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_5/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_5/inner/dw1/conv"
  top: "cl/bottleneck4_5/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_5/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_5/inner/dw1/conv"
  top: "cl/bottleneck4_5/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_5/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_5/inner/dw1/conv"
  top: "cl/bottleneck4_5/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck4_5/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_5/inner/dw1/conv"
  top: "cl/bottleneck4_5/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_5/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_5/dim_inc/conv"
  top: "cl/bottleneck4_5/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_5/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_5/dim_inc/conv"
  top: "cl/bottleneck4_5/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_5/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck4_5/dim_inc/conv"
  top: "cl/bottleneck4_5/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck4_5/add"
  type: "Eltwise"
  bottom: "cl/bottleneck4_4/add"
  bottom: "cl/bottleneck4_5/dim_inc/dropout"
  top: "cl/bottleneck4_5/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck4_5/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_5/add"
  top: "cl/bottleneck4_5/add"
}

###################################################
################# Cross-branching 2 ###############
###################################################

layer {
  name: "cross_branch2/conv"
  type: "Convolution"
  bottom: "bottleneck4_5/add"
  top: "cross_branch2/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cross_branch2/bn"
  type: "BatchNorm"
  bottom: "cross_branch2/conv"
  top: "cross_branch2/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cross_branch2/scale"
  type: "Scale"
  bottom: "cross_branch2/conv"
  top: "cross_branch2/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cross_branch2/add"
  type: "Eltwise"
  bottom: "cross_branch2/conv"
  bottom: "cl/bottleneck4_5/add"
  top: "cross_branch2/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cross_branch2/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cross_branch2/add"
  top: "cross_branch2/add"
}

###################################################
############ Detection branch step 3 ##############
###################################################

layer {
  name: "bottleneck4_6/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck4_5/add"
  top: "bottleneck4_6/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_6/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_6/dim_red/conv"
  top: "bottleneck4_6/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_6/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck4_6/dim_red/conv"
  top: "bottleneck4_6/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_6/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_6/dim_red/conv"
  top: "bottleneck4_6/dim_red/conv"
}
layer {
  name: "bottleneck4_6/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck4_6/dim_red/conv"
  top: "bottleneck4_6/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_6/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_6/inner/dw1/conv"
  top: "bottleneck4_6/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_6/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck4_6/inner/dw1/conv"
  top: "bottleneck4_6/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_6/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_6/inner/dw1/conv"
  top: "bottleneck4_6/inner/dw1/conv"
}
layer {
  name: "bottleneck4_6/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck4_6/inner/dw1/conv"
  top: "bottleneck4_6/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_6/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_6/dim_inc/conv"
  top: "bottleneck4_6/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_6/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck4_6/dim_inc/conv"
  top: "bottleneck4_6/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_6/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck4_6/dim_inc/conv"
  top: "bottleneck4_6/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck4_6/add"
  type: "Eltwise"
  bottom: "bottleneck4_5/add"
  bottom: "bottleneck4_6/dim_inc/dropout"
  top: "bottleneck4_6/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck4_6/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_6/add"
  top: "bottleneck4_6/add"
}
layer {
  name: "bottleneck4_7/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck4_6/add"
  top: "bottleneck4_7/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_7/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_7/dim_red/conv"
  top: "bottleneck4_7/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_7/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck4_7/dim_red/conv"
  top: "bottleneck4_7/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_7/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_7/dim_red/conv"
  top: "bottleneck4_7/dim_red/conv"
}
layer {
  name: "bottleneck4_7/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck4_7/dim_red/conv"
  top: "bottleneck4_7/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_7/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_7/inner/dw1/conv"
  top: "bottleneck4_7/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_7/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck4_7/inner/dw1/conv"
  top: "bottleneck4_7/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_7/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_7/inner/dw1/conv"
  top: "bottleneck4_7/inner/dw1/conv"
}
layer {
  name: "bottleneck4_7/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck4_7/inner/dw1/conv"
  top: "bottleneck4_7/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_7/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_7/dim_inc/conv"
  top: "bottleneck4_7/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_7/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck4_7/dim_inc/conv"
  top: "bottleneck4_7/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_7/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck4_7/dim_inc/conv"
  top: "bottleneck4_7/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck4_7/add"
  type: "Eltwise"
  bottom: "bottleneck4_6/add"
  bottom: "bottleneck4_7/dim_inc/dropout"
  top: "bottleneck4_7/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck4_7/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_7/add"
  top: "bottleneck4_7/add"
}
layer {
  name: "bottleneck4_8/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck4_7/add"
  top: "bottleneck4_8/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_8/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_8/dim_red/conv"
  top: "bottleneck4_8/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_8/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck4_8/dim_red/conv"
  top: "bottleneck4_8/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_8/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_8/dim_red/conv"
  top: "bottleneck4_8/dim_red/conv"
}
layer {
  name: "bottleneck4_8/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck4_8/dim_red/conv"
  top: "bottleneck4_8/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_8/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_8/inner/dw1/conv"
  top: "bottleneck4_8/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_8/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck4_8/inner/dw1/conv"
  top: "bottleneck4_8/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_8/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_8/inner/dw1/conv"
  top: "bottleneck4_8/inner/dw1/conv"
}
layer {
  name: "bottleneck4_8/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck4_8/inner/dw1/conv"
  top: "bottleneck4_8/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_8/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_8/dim_inc/conv"
  top: "bottleneck4_8/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_8/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck4_8/dim_inc/conv"
  top: "bottleneck4_8/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_8/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck4_8/dim_inc/conv"
  top: "bottleneck4_8/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck4_8/add"
  type: "Eltwise"
  bottom: "bottleneck4_7/add"
  bottom: "bottleneck4_8/dim_inc/dropout"
  top: "bottleneck4_8/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck4_8/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_8/add"
  top: "bottleneck4_8/add"
}
layer {
  name: "bottleneck4_9/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck4_8/add"
  top: "bottleneck4_9/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_9/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_9/dim_red/conv"
  top: "bottleneck4_9/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_9/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck4_9/dim_red/conv"
  top: "bottleneck4_9/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_9/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_9/dim_red/conv"
  top: "bottleneck4_9/dim_red/conv"
}
layer {
  name: "bottleneck4_9/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck4_9/dim_red/conv"
  top: "bottleneck4_9/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_9/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_9/inner/dw1/conv"
  top: "bottleneck4_9/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_9/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck4_9/inner/dw1/conv"
  top: "bottleneck4_9/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_9/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_9/inner/dw1/conv"
  top: "bottleneck4_9/inner/dw1/conv"
}
layer {
  name: "bottleneck4_9/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck4_9/inner/dw1/conv"
  top: "bottleneck4_9/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_9/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_9/dim_inc/conv"
  top: "bottleneck4_9/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_9/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck4_9/dim_inc/conv"
  top: "bottleneck4_9/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_9/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck4_9/dim_inc/conv"
  top: "bottleneck4_9/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck4_9/add"
  type: "Eltwise"
  bottom: "bottleneck4_8/add"
  bottom: "bottleneck4_9/dim_inc/dropout"
  top: "bottleneck4_9/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck4_9/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_9/add"
  top: "bottleneck4_9/add"
}
layer {
  name: "bottleneck4_10/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck4_9/add"
  top: "bottleneck4_10/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_10/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_10/dim_red/conv"
  top: "bottleneck4_10/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_10/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck4_10/dim_red/conv"
  top: "bottleneck4_10/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_10/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_10/dim_red/conv"
  top: "bottleneck4_10/dim_red/conv"
}
layer {
  name: "bottleneck4_10/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck4_10/dim_red/conv"
  top: "bottleneck4_10/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_10/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_10/inner/dw1/conv"
  top: "bottleneck4_10/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_10/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck4_10/inner/dw1/conv"
  top: "bottleneck4_10/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_10/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_10/inner/dw1/conv"
  top: "bottleneck4_10/inner/dw1/conv"
}
layer {
  name: "bottleneck4_10/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck4_10/inner/dw1/conv"
  top: "bottleneck4_10/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_10/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_10/dim_inc/conv"
  top: "bottleneck4_10/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_10/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck4_10/dim_inc/conv"
  top: "bottleneck4_10/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_10/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck4_10/dim_inc/conv"
  top: "bottleneck4_10/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck4_10/add"
  type: "Eltwise"
  bottom: "bottleneck4_9/add"
  bottom: "bottleneck4_10/dim_inc/dropout"
  top: "bottleneck4_10/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck4_10/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_10/add"
  top: "bottleneck4_10/add"
}
layer {
  name: "bottleneck4_11/dim_red/conv"
  type: "Convolution"
  bottom: "bottleneck4_10/add"
  top: "bottleneck4_11/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_11/dim_red/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_11/dim_red/conv"
  top: "bottleneck4_11/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_11/dim_red/scale"
  type: "Scale"
  bottom: "bottleneck4_11/dim_red/conv"
  top: "bottleneck4_11/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_11/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_11/dim_red/conv"
  top: "bottleneck4_11/dim_red/conv"
}
layer {
  name: "bottleneck4_11/inner/dw1/conv"
  type: "Convolution"
  bottom: "bottleneck4_11/dim_red/conv"
  top: "bottleneck4_11/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_11/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_11/inner/dw1/conv"
  top: "bottleneck4_11/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_11/inner/dw1/scale"
  type: "Scale"
  bottom: "bottleneck4_11/inner/dw1/conv"
  top: "bottleneck4_11/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_11/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_11/inner/dw1/conv"
  top: "bottleneck4_11/inner/dw1/conv"
}
layer {
  name: "bottleneck4_11/dim_inc/conv"
  type: "Convolution"
  bottom: "bottleneck4_11/inner/dw1/conv"
  top: "bottleneck4_11/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "bottleneck4_11/dim_inc/bn"
  type: "BatchNorm"
  bottom: "bottleneck4_11/dim_inc/conv"
  top: "bottleneck4_11/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "bottleneck4_11/dim_inc/scale"
  type: "Scale"
  bottom: "bottleneck4_11/dim_inc/conv"
  top: "bottleneck4_11/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "bottleneck4_11/dim_inc/dropout"
  type: "Dropout"
  bottom: "bottleneck4_11/dim_inc/conv"
  top: "bottleneck4_11/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "bottleneck4_11/add"
  type: "Eltwise"
  bottom: "bottleneck4_10/add"
  bottom: "bottleneck4_11/dim_inc/dropout"
  top: "bottleneck4_11/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "bottleneck4_11/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "bottleneck4_11/add"
  top: "bb_16xout_pd"
}

###################################################
########## Classification branch step 3 ###########
###################################################

layer {
  name: "cl/bottleneck4_6/dim_red/conv"
  type: "Convolution"
  bottom: "cross_branch2/add"
  top: "cl/bottleneck4_6/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_6/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_6/dim_red/conv"
  top: "cl/bottleneck4_6/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_6/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_6/dim_red/conv"
  top: "cl/bottleneck4_6/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_6/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_6/dim_red/conv"
  top: "cl/bottleneck4_6/dim_red/conv"
}
layer {
  name: "cl/bottleneck4_6/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_6/dim_red/conv"
  top: "cl/bottleneck4_6/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_6/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_6/inner/dw1/conv"
  top: "cl/bottleneck4_6/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_6/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_6/inner/dw1/conv"
  top: "cl/bottleneck4_6/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_6/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_6/inner/dw1/conv"
  top: "cl/bottleneck4_6/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck4_6/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_6/inner/dw1/conv"
  top: "cl/bottleneck4_6/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_6/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_6/dim_inc/conv"
  top: "cl/bottleneck4_6/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_6/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_6/dim_inc/conv"
  top: "cl/bottleneck4_6/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_6/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck4_6/dim_inc/conv"
  top: "cl/bottleneck4_6/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck4_6/add"
  type: "Eltwise"
  bottom: "cross_branch2/add"
  bottom: "cl/bottleneck4_6/dim_inc/dropout"
  top: "cl/bottleneck4_6/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck4_6/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_6/add"
  top: "cl/bottleneck4_6/add"
}
layer {
  name: "cl/bottleneck4_7/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_6/add"
  top: "cl/bottleneck4_7/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_7/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_7/dim_red/conv"
  top: "cl/bottleneck4_7/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_7/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_7/dim_red/conv"
  top: "cl/bottleneck4_7/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_7/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_7/dim_red/conv"
  top: "cl/bottleneck4_7/dim_red/conv"
}
layer {
  name: "cl/bottleneck4_7/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_7/dim_red/conv"
  top: "cl/bottleneck4_7/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_7/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_7/inner/dw1/conv"
  top: "cl/bottleneck4_7/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_7/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_7/inner/dw1/conv"
  top: "cl/bottleneck4_7/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_7/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_7/inner/dw1/conv"
  top: "cl/bottleneck4_7/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck4_7/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_7/inner/dw1/conv"
  top: "cl/bottleneck4_7/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_7/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_7/dim_inc/conv"
  top: "cl/bottleneck4_7/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_7/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_7/dim_inc/conv"
  top: "cl/bottleneck4_7/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_7/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck4_7/dim_inc/conv"
  top: "cl/bottleneck4_7/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck4_7/add"
  type: "Eltwise"
  bottom: "cl/bottleneck4_6/add"
  bottom: "cl/bottleneck4_7/dim_inc/dropout"
  top: "cl/bottleneck4_7/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck4_7/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_7/add"
  top: "cl/bottleneck4_7/add"
}
layer {
  name: "cl/bottleneck4_8/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_7/add"
  top: "cl/bottleneck4_8/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_8/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_8/dim_red/conv"
  top: "cl/bottleneck4_8/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_8/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_8/dim_red/conv"
  top: "cl/bottleneck4_8/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_8/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_8/dim_red/conv"
  top: "cl/bottleneck4_8/dim_red/conv"
}
layer {
  name: "cl/bottleneck4_8/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_8/dim_red/conv"
  top: "cl/bottleneck4_8/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_8/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_8/inner/dw1/conv"
  top: "cl/bottleneck4_8/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_8/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_8/inner/dw1/conv"
  top: "cl/bottleneck4_8/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_8/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_8/inner/dw1/conv"
  top: "cl/bottleneck4_8/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck4_8/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_8/inner/dw1/conv"
  top: "cl/bottleneck4_8/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_8/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_8/dim_inc/conv"
  top: "cl/bottleneck4_8/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_8/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_8/dim_inc/conv"
  top: "cl/bottleneck4_8/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_8/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck4_8/dim_inc/conv"
  top: "cl/bottleneck4_8/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck4_8/add"
  type: "Eltwise"
  bottom: "cl/bottleneck4_7/add"
  bottom: "cl/bottleneck4_8/dim_inc/dropout"
  top: "cl/bottleneck4_8/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck4_8/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_8/add"
  top: "cl/bottleneck4_8/add"
}
layer {
  name: "cl/bottleneck4_9/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_8/add"
  top: "cl/bottleneck4_9/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_9/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_9/dim_red/conv"
  top: "cl/bottleneck4_9/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_9/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_9/dim_red/conv"
  top: "cl/bottleneck4_9/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_9/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_9/dim_red/conv"
  top: "cl/bottleneck4_9/dim_red/conv"
}
layer {
  name: "cl/bottleneck4_9/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_9/dim_red/conv"
  top: "cl/bottleneck4_9/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_9/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_9/inner/dw1/conv"
  top: "cl/bottleneck4_9/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_9/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_9/inner/dw1/conv"
  top: "cl/bottleneck4_9/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_9/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_9/inner/dw1/conv"
  top: "cl/bottleneck4_9/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck4_9/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_9/inner/dw1/conv"
  top: "cl/bottleneck4_9/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_9/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_9/dim_inc/conv"
  top: "cl/bottleneck4_9/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_9/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_9/dim_inc/conv"
  top: "cl/bottleneck4_9/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_9/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck4_9/dim_inc/conv"
  top: "cl/bottleneck4_9/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck4_9/add"
  type: "Eltwise"
  bottom: "cl/bottleneck4_8/add"
  bottom: "cl/bottleneck4_9/dim_inc/dropout"
  top: "cl/bottleneck4_9/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck4_9/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_9/add"
  top: "cl/bottleneck4_9/add"
}
layer {
  name: "cl/bottleneck4_10/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_9/add"
  top: "cl/bottleneck4_10/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_10/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_10/dim_red/conv"
  top: "cl/bottleneck4_10/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_10/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_10/dim_red/conv"
  top: "cl/bottleneck4_10/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_10/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_10/dim_red/conv"
  top: "cl/bottleneck4_10/dim_red/conv"
}
layer {
  name: "cl/bottleneck4_10/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_10/dim_red/conv"
  top: "cl/bottleneck4_10/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_10/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_10/inner/dw1/conv"
  top: "cl/bottleneck4_10/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_10/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_10/inner/dw1/conv"
  top: "cl/bottleneck4_10/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_10/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_10/inner/dw1/conv"
  top: "cl/bottleneck4_10/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck4_10/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_10/inner/dw1/conv"
  top: "cl/bottleneck4_10/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_10/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_10/dim_inc/conv"
  top: "cl/bottleneck4_10/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_10/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_10/dim_inc/conv"
  top: "cl/bottleneck4_10/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_10/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck4_10/dim_inc/conv"
  top: "cl/bottleneck4_10/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck4_10/add"
  type: "Eltwise"
  bottom: "cl/bottleneck4_9/add"
  bottom: "cl/bottleneck4_10/dim_inc/dropout"
  top: "cl/bottleneck4_10/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck4_10/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_10/add"
  top: "cl/bottleneck4_10/add"
}
layer {
  name: "cl/bottleneck4_11/dim_red/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_10/add"
  top: "cl/bottleneck4_11/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_11/dim_red/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_11/dim_red/conv"
  top: "cl/bottleneck4_11/dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_11/dim_red/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_11/dim_red/conv"
  top: "cl/bottleneck4_11/dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_11/dim_red/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_11/dim_red/conv"
  top: "cl/bottleneck4_11/dim_red/conv"
}
layer {
  name: "cl/bottleneck4_11/inner/dw1/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_11/dim_red/conv"
  top: "cl/bottleneck4_11/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 64
    bias_term: false
    pad: 1
    kernel_size: 3
    group: 64
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_11/inner/dw1/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_11/inner/dw1/conv"
  top: "cl/bottleneck4_11/inner/dw1/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_11/inner/dw1/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_11/inner/dw1/conv"
  top: "cl/bottleneck4_11/inner/dw1/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_11/inner/dw1/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_11/inner/dw1/conv"
  top: "cl/bottleneck4_11/inner/dw1/conv"
}
layer {
  name: "cl/bottleneck4_11/dim_inc/conv"
  type: "Convolution"
  bottom: "cl/bottleneck4_11/inner/dw1/conv"
  top: "cl/bottleneck4_11/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "cl/bottleneck4_11/dim_inc/bn"
  type: "BatchNorm"
  bottom: "cl/bottleneck4_11/dim_inc/conv"
  top: "cl/bottleneck4_11/dim_inc/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "cl/bottleneck4_11/dim_inc/scale"
  type: "Scale"
  bottom: "cl/bottleneck4_11/dim_inc/conv"
  top: "cl/bottleneck4_11/dim_inc/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "cl/bottleneck4_11/dim_inc/dropout"
  type: "Dropout"
  bottom: "cl/bottleneck4_11/dim_inc/conv"
  top: "cl/bottleneck4_11/dim_inc/dropout"
  dropout_param {
    dropout_ratio: 0.0
  }
}
layer {
  name: "cl/bottleneck4_11/add"
  type: "Eltwise"
  bottom: "cl/bottleneck4_10/add"
  bottom: "cl/bottleneck4_11/dim_inc/dropout"
  top: "cl/bottleneck4_11/add"
  eltwise_param {
    operation: SUM
  }
}
layer {
  name: "cl/bottleneck4_11/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "cl/bottleneck4_11/add"
  top: "bb_16xout_action"
}

###################################################
############### SSD Head: Location ################
###################################################

layer {
  name: "mbox_loc1/out/conv"
  type: "Convolution"
  bottom: "bb_16xout_pd"
  top: "mbox_loc1/out/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0
  }
  convolution_param {
    num_output: 16 # bbox_coords * num_anchors == 4 * 4 = 16
    pad: 1
    kernel_size: 3
    stride: 1
    weight_filler {
      type: "msra"
    }
    bias_filler {
      type: "constant"
      value: 0
    }
  }
}
layer {
  name: "mbox_loc1/out/conv/perm"
  type: "Permute"
  bottom: "mbox_loc1/out/conv"
  top: "mbox_loc1/out/conv/perm"
  permute_param {
    order: 0
    order: 2
    order: 3
    order: 1
  }
}

###################################################
########### SSD Head: Main Confidence #############
###################################################

layer {
  name: "mbox_conf1/out/conv"
  type: "Convolution"
  bottom: "bb_16xout_pd"
  top: "mbox_conf1/out/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0
  }
  convolution_param {
    num_output: 8 # num_anchors * num_classes == 4 * 2 == 8
    pad: 1
    kernel_size: 3
    stride: 1
    weight_filler {
      type: "msra"
    }
    bias_filler {
      type: "constant"
      value: 0
    }
  }
}
layer {
  name: "mbox_conf1/out/conv/perm"
  type: "Permute"
  bottom: "mbox_conf1/out/conv"
  top: "mbox_conf1/out/conv/perm"
  permute_param {
    order: 0
    order: 2
    order: 3
    order: 1
  }
}

###################################################
########### SSD Head: DetectionOutput #############
###################################################

layer {
  name: "mbox_conf1/out/conv/perm/reshape"
  type: "Reshape"
  bottom: "mbox_conf1/out/conv/perm"
  top: "mbox_conf1/out/conv/perm/reshape"
  reshape_param {
    shape {
      dim: 0
      dim: -1
      dim: 2
    }
  }
}
layer {
  name: "mbox_conf1/out/conv/perm/softmax"
  type: "Softmax"
  bottom: "mbox_conf1/out/conv/perm/reshape"
  top: "mbox_conf1/out/conv/perm/softmax"
  softmax_param {
    axis: 2
  }
}
layer {
  name: "mbox_conf1/out/conv/perm/softmax/reshape"
  type: "Reshape"
  bottom: "mbox_conf1/out/conv/perm/softmax"
  top: "mbox_conf1/out/conv/perm/softmax/reshape"
  reshape_param {
    shape {
      dim: 0
      dim: 25
      dim: 43
      dim: -1
    }
  }
}

layer {
  name: "mbox/priorbox"
  type: "PriorBoxClustered"
  bottom: "bb_16xout_pd"
  bottom: "data"
  top: "mbox/priorbox"
  prior_box_param {
    clip: false
    height: 67.037036
    width: 29.9270924
    height: 90.37038
    width: 41.43751632
    height: 129.259252
    width: 58.083339
    height: 190.000008
    width: 91.020822

    variance: 0.1
    variance: 0.1
    variance: 0.2
    variance: 0.2
    step: 16.0
    offset: 0.5
  }
}

layer {
  name: "pd_out"
  type: "DetectionOutputExtended"
  bottom: "mbox_loc1/out/conv/perm"
  bottom: "mbox_conf1/out/conv/perm/softmax/reshape"
  bottom: "mbox/priorbox"
  top: "pd_out"
  detection_output_param {
    num_classes: 2
    share_location: true
    background_label_id: -1
    nms_param {
      nms_threshold: 0.45
      top_k: 400
    }
    code_type: CENTER_SIZE
    keep_top_k: 200
    confidence_threshold: 0.01
  }
}

#################################################
########## Action branch for anchor 1 ###########
#################################################

layer {
  name: "action/anchor1/action_dim_red/conv"
  type: "Convolution"
  bottom: "bb_16xout_action"
  top: "action/anchor1/action_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor1/action_dim_red/bn"
  type: "BatchNorm"
  bottom: "action/anchor1/action_dim_red/conv"
  top: "action/anchor1/action_dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor1/action_dim_red/scale"
  type: "Scale"
  bottom: "action/anchor1/action_dim_red/conv"
  top: "action/anchor1/action_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor1/action_dim_red/normalize"
  type: "Normalize"
  bottom: "action/anchor1/action_dim_red/conv"
  top: "action/anchor1/action_dim_red/norm"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  norm_param {
    across_spatial: false
    channel_shared: true
    eps: 0.00000001
  }
}

layer {
  name: "action/anchor1/det_dim_red/conv"
  type: "Convolution"
  bottom: "bb_16xout_pd"
  top: "action/anchor1/det_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor1/det_dim_red/bn"
  type: "BatchNorm"
  bottom: "action/anchor1/det_dim_red/conv"
  top: "action/anchor1/det_dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor1/det_dim_red/scale"
  type: "Scale"
  bottom: "action/anchor1/det_dim_red/conv"
  top: "action/anchor1/det_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor1/det_dim_red/normalize"
  type: "Normalize"
  bottom: "action/anchor1/det_dim_red/conv"
  top: "action/anchor1/det_dim_red/norm"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  norm_param {
    across_spatial: false
    channel_shared: true
    eps: 0.00000001
  }
}

layer {
  name: "action/anchor1/concat"
  type: "Concat"
  bottom: "action/anchor1/det_dim_red/norm"
  bottom: "action/anchor1/action_dim_red/norm"
  top: "action/anchor1/concat"
  concat_param {
    axis: 1
  }
}

layer {
  name: "action/anchor1/ch_mix/conv"
  type: "Convolution"
  bottom: "action/anchor1/concat"
  top: "action/anchor1/ch_mix/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor1/ch_mix/bn"
  type: "BatchNorm"
  bottom: "action/anchor1/ch_mix/conv"
  top: "action/anchor1/ch_mix/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor1/ch_mix/scale"
  type: "Scale"
  bottom: "action/anchor1/ch_mix/conv"
  top: "action/anchor1/ch_mix/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor1/ch_mix/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "action/anchor1/ch_mix/conv"
  top: "action/anchor1/ch_mix/conv"
}

layer {
  name: "action/anchor1/inner/conv"
  type: "Convolution"
  bottom: "action/anchor1/ch_mix/conv"
  top: "action/anchor1/inner/conv"
  param {
    name: "action/inner/conv/w"
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor1/inner/bn"
  type: "BatchNorm"
  bottom: "action/anchor1/inner/conv"
  top: "action/anchor1/inner/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor1/inner/scale"
  type: "Scale"
  bottom: "action/anchor1/inner/conv"
  top: "action/anchor1/inner/conv"
  param {
    name: "action/inner/scale/a"
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    name: "action/inner/scale/b"
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor1/inner/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "action/anchor1/inner/conv"
  top: "action/anchor1/inner/conv"
}
layer {
  name: "action/anchor1/out/conv"
  type: "Convolution"
  bottom: "action/anchor1/inner/conv"
  top: "action/anchor1/out/conv"
  param {
    name: "action/out/conv/w"
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor1/out/bn"
  type: "BatchNorm"
  bottom: "action/anchor1/out/conv"
  top: "action/anchor1/out/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor1/out/scale"
  type: "Scale"
  bottom: "action/anchor1/out/conv"
  top: "action/anchor1/out/conv"
  param {
    name: "action/out/scale/a"
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    name: "action/out/scale/b"
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor1/normalize"
  type: "Normalize"
  bottom: "action/anchor1/out/conv"
  top: "action/anchor1/norm"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  norm_param {
    across_spatial: false
    channel_shared: true
    eps: 0.00000001
  }
}

#################################################
########## Action branch for anchor 2 ###########
#################################################

layer {
  name: "action/anchor2/action_dim_red/conv"
  type: "Convolution"
  bottom: "bb_16xout_action"
  top: "action/anchor2/action_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor2/action_dim_red/bn"
  type: "BatchNorm"
  bottom: "action/anchor2/action_dim_red/conv"
  top: "action/anchor2/action_dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor2/action_dim_red/scale"
  type: "Scale"
  bottom: "action/anchor2/action_dim_red/conv"
  top: "action/anchor2/action_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor2/action_dim_red/normalize"
  type: "Normalize"
  bottom: "action/anchor2/action_dim_red/conv"
  top: "action/anchor2/action_dim_red/norm"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  norm_param {
    across_spatial: false
    channel_shared: true
    eps: 0.00000001
  }
}

layer {
  name: "action/anchor2/det_dim_red/conv"
  type: "Convolution"
  bottom: "bb_16xout_pd"
  top: "action/anchor2/det_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor2/det_dim_red/bn"
  type: "BatchNorm"
  bottom: "action/anchor2/det_dim_red/conv"
  top: "action/anchor2/det_dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor2/det_dim_red/scale"
  type: "Scale"
  bottom: "action/anchor2/det_dim_red/conv"
  top: "action/anchor2/det_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor2/det_dim_red/normalize"
  type: "Normalize"
  bottom: "action/anchor2/det_dim_red/conv"
  top: "action/anchor2/det_dim_red/norm"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  norm_param {
    across_spatial: false
    channel_shared: true
    eps: 0.00000001
  }
}

layer {
  name: "action/anchor2/concat"
  type: "Concat"
  bottom: "action/anchor2/det_dim_red/norm"
  bottom: "action/anchor2/action_dim_red/norm"
  top: "action/anchor2/concat"
  concat_param {
    axis: 1
  }
}

layer {
  name: "action/anchor2/ch_mix/conv"
  type: "Convolution"
  bottom: "action/anchor2/concat"
  top: "action/anchor2/ch_mix/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor2/ch_mix/bn"
  type: "BatchNorm"
  bottom: "action/anchor2/ch_mix/conv"
  top: "action/anchor2/ch_mix/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor2/ch_mix/scale"
  type: "Scale"
  bottom: "action/anchor2/ch_mix/conv"
  top: "action/anchor2/ch_mix/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor2/ch_mix/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "action/anchor2/ch_mix/conv"
  top: "action/anchor2/ch_mix/conv"
}

layer {
  name: "action/anchor2/inner/conv"
  type: "Convolution"
  bottom: "action/anchor2/ch_mix/conv"
  top: "action/anchor2/inner/conv"
  param {
    name: "action/inner/conv/w"
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor2/inner/bn"
  type: "BatchNorm"
  bottom: "action/anchor2/inner/conv"
  top: "action/anchor2/inner/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor2/inner/scale"
  type: "Scale"
  bottom: "action/anchor2/inner/conv"
  top: "action/anchor2/inner/conv"
  param {
    name: "action/inner/scale/a"
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    name: "action/inner/scale/b"
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor2/inner/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "action/anchor2/inner/conv"
  top: "action/anchor2/inner/conv"
}
layer {
  name: "action/anchor2/out/conv"
  type: "Convolution"
  bottom: "action/anchor2/inner/conv"
  top: "action/anchor2/out/conv"
  param {
    name: "action/out/conv/w"
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor2/out/bn"
  type: "BatchNorm"
  bottom: "action/anchor2/out/conv"
  top: "action/anchor2/out/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor2/out/scale"
  type: "Scale"
  bottom: "action/anchor2/out/conv"
  top: "action/anchor2/out/conv"
  param {
    name: "action/out/scale/a"
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    name: "action/out/scale/b"
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor2/normalize"
  type: "Normalize"
  bottom: "action/anchor2/out/conv"
  top: "action/anchor2/norm"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  norm_param {
    across_spatial: false
    channel_shared: true
    eps: 0.00000001
  }
}

#################################################
########## Action branch for anchor 3 ###########
#################################################

layer {
  name: "action/anchor3/action_dim_red/conv"
  type: "Convolution"
  bottom: "bb_16xout_action"
  top: "action/anchor3/action_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor3/action_dim_red/bn"
  type: "BatchNorm"
  bottom: "action/anchor3/action_dim_red/conv"
  top: "action/anchor3/action_dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor3/action_dim_red/scale"
  type: "Scale"
  bottom: "action/anchor3/action_dim_red/conv"
  top: "action/anchor3/action_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor3/action_dim_red/normalize"
  type: "Normalize"
  bottom: "action/anchor3/action_dim_red/conv"
  top: "action/anchor3/action_dim_red/norm"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  norm_param {
    across_spatial: false
    channel_shared: true
    eps: 0.00000001
  }
}

layer {
  name: "action/anchor3/det_dim_red/conv"
  type: "Convolution"
  bottom: "bb_16xout_pd"
  top: "action/anchor3/det_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor3/det_dim_red/bn"
  type: "BatchNorm"
  bottom: "action/anchor3/det_dim_red/conv"
  top: "action/anchor3/det_dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor3/det_dim_red/scale"
  type: "Scale"
  bottom: "action/anchor3/det_dim_red/conv"
  top: "action/anchor3/det_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor3/det_dim_red/normalize"
  type: "Normalize"
  bottom: "action/anchor3/det_dim_red/conv"
  top: "action/anchor3/det_dim_red/norm"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  norm_param {
    across_spatial: false
    channel_shared: true
    eps: 0.00000001
  }
}

layer {
  name: "action/anchor3/concat"
  type: "Concat"
  bottom: "action/anchor3/det_dim_red/norm"
  bottom: "action/anchor3/action_dim_red/norm"
  top: "action/anchor3/concat"
  concat_param {
    axis: 1
  }
}

layer {
  name: "action/anchor3/ch_mix/conv"
  type: "Convolution"
  bottom: "action/anchor3/concat"
  top: "action/anchor3/ch_mix/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor3/ch_mix/bn"
  type: "BatchNorm"
  bottom: "action/anchor3/ch_mix/conv"
  top: "action/anchor3/ch_mix/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor3/ch_mix/scale"
  type: "Scale"
  bottom: "action/anchor3/ch_mix/conv"
  top: "action/anchor3/ch_mix/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor3/ch_mix/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "action/anchor3/ch_mix/conv"
  top: "action/anchor3/ch_mix/conv"
}

layer {
  name: "action/anchor3/inner/conv"
  type: "Convolution"
  bottom: "action/anchor3/ch_mix/conv"
  top: "action/anchor3/inner/conv"
  param {
    name: "action/inner/conv/w"
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor3/inner/bn"
  type: "BatchNorm"
  bottom: "action/anchor3/inner/conv"
  top: "action/anchor3/inner/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor3/inner/scale"
  type: "Scale"
  bottom: "action/anchor3/inner/conv"
  top: "action/anchor3/inner/conv"
  param {
    name: "action/inner/scale/a"
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    name: "action/inner/scale/b"
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor3/inner/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "action/anchor3/inner/conv"
  top: "action/anchor3/inner/conv"
}
layer {
  name: "action/anchor3/out/conv"
  type: "Convolution"
  bottom: "action/anchor3/inner/conv"
  top: "action/anchor3/out/conv"
  param {
    name: "action/out/conv/w"
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor3/out/bn"
  type: "BatchNorm"
  bottom: "action/anchor3/out/conv"
  top: "action/anchor3/out/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor3/out/scale"
  type: "Scale"
  bottom: "action/anchor3/out/conv"
  top: "action/anchor3/out/conv"
  param {
    name: "action/out/scale/a"
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    name: "action/out/scale/b"
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor3/normalize"
  type: "Normalize"
  bottom: "action/anchor3/out/conv"
  top: "action/anchor3/norm"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  norm_param {
    across_spatial: false
    channel_shared: true
    eps: 0.00000001
  }
}

#################################################
########## Action branch for anchor 4 ###########
#################################################

layer {
  name: "action/anchor4/action_dim_red/conv"
  type: "Convolution"
  bottom: "bb_16xout_action"
  top: "action/anchor4/action_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor4/action_dim_red/bn"
  type: "BatchNorm"
  bottom: "action/anchor4/action_dim_red/conv"
  top: "action/anchor4/action_dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor4/action_dim_red/scale"
  type: "Scale"
  bottom: "action/anchor4/action_dim_red/conv"
  top: "action/anchor4/action_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor4/action_dim_red/normalize"
  type: "Normalize"
  bottom: "action/anchor4/action_dim_red/conv"
  top: "action/anchor4/action_dim_red/norm"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  norm_param {
    across_spatial: false
    channel_shared: true
    eps: 0.00000001
  }
}

layer {
  name: "action/anchor4/det_dim_red/conv"
  type: "Convolution"
  bottom: "bb_16xout_pd"
  top: "action/anchor4/det_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor4/det_dim_red/bn"
  type: "BatchNorm"
  bottom: "action/anchor4/det_dim_red/conv"
  top: "action/anchor4/det_dim_red/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor4/det_dim_red/scale"
  type: "Scale"
  bottom: "action/anchor4/det_dim_red/conv"
  top: "action/anchor4/det_dim_red/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor4/det_dim_red/normalize"
  type: "Normalize"
  bottom: "action/anchor4/det_dim_red/conv"
  top: "action/anchor4/det_dim_red/norm"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  norm_param {
    across_spatial: false
    channel_shared: true
    eps: 0.00000001
  }
}

layer {
  name: "action/anchor4/concat"
  type: "Concat"
  bottom: "action/anchor4/det_dim_red/norm"
  bottom: "action/anchor4/action_dim_red/norm"
  top: "action/anchor4/concat"
  concat_param {
    axis: 1
  }
}

layer {
  name: "action/anchor4/ch_mix/conv"
  type: "Convolution"
  bottom: "action/anchor4/concat"
  top: "action/anchor4/ch_mix/conv"
  param {
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 256
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor4/ch_mix/bn"
  type: "BatchNorm"
  bottom: "action/anchor4/ch_mix/conv"
  top: "action/anchor4/ch_mix/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor4/ch_mix/scale"
  type: "Scale"
  bottom: "action/anchor4/ch_mix/conv"
  top: "action/anchor4/ch_mix/conv"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor4/ch_mix/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "action/anchor4/ch_mix/conv"
  top: "action/anchor4/ch_mix/conv"
}

layer {
  name: "action/anchor4/inner/conv"
  type: "Convolution"
  bottom: "action/anchor4/ch_mix/conv"
  top: "action/anchor4/inner/conv"
  param {
    name: "action/inner/conv/w"
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor4/inner/bn"
  type: "BatchNorm"
  bottom: "action/anchor4/inner/conv"
  top: "action/anchor4/inner/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor4/inner/scale"
  type: "Scale"
  bottom: "action/anchor4/inner/conv"
  top: "action/anchor4/inner/conv"
  param {
    name: "action/inner/scale/a"
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    name: "action/inner/scale/b"
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor4/inner/fn"
  type: "ReLU"
  relu_param {
     negative_slope: 0.1
  }
  bottom: "action/anchor4/inner/conv"
  top: "action/anchor4/inner/conv"
}
layer {
  name: "action/anchor4/out/conv"
  type: "Convolution"
  bottom: "action/anchor4/inner/conv"
  top: "action/anchor4/out/conv"
  param {
    name: "action/out/conv/w"
    lr_mult: 1.0
    decay_mult: 1.0
  }
  convolution_param {
    num_output: 128
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
    weight_filler {
      type: "msra"
    }
  }
}
layer {
  name: "action/anchor4/out/bn"
  type: "BatchNorm"
  bottom: "action/anchor4/out/conv"
  top: "action/anchor4/out/conv"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  batch_norm_param {
    use_global_stats: true
  }
}
layer {
  name: "action/anchor4/out/scale"
  type: "Scale"
  bottom: "action/anchor4/out/conv"
  top: "action/anchor4/out/conv"
  param {
    name: "action/out/scale/a"
    lr_mult: 1.0
    decay_mult: 0.0
  }
  param {
    name: "action/out/scale/b"
    lr_mult: 2.0
    decay_mult: 0.0
  }
  scale_param {
    axis: 1
    filler {
      value: 1.0
    }
    bias_term: true
    bias_filler {
      value: 0.0
    }
  }
}
layer {
  name: "action/anchor4/normalize"
  type: "Normalize"
  bottom: "action/anchor4/out/conv"
  top: "action/anchor4/norm"
  param {
    lr_mult: 0.0
    decay_mult: 0.0
  }
  norm_param {
    across_spatial: false
    channel_shared: true
    eps: 0.00000001
  }
}

#################################################
################### Centers #####################
#################################################

layer {
  name: "centers/action/params"
  type: "Parameter"
  top: "centers/action"
  param {
    lr_mult: 1.0
    decay_mult: 0.0
  }
  parameter_param {
    shape: {
      dim: {{ num_actions }}
      dim: 128
    }
    filler: {
      type: "gaussian"
      mean: 0.0
      std: 1.0
    }
  }
}

#################################################
########## Action Prediction Outputs ############
#################################################

layer {
  name: "logits/anchor1"
  type: "Convolution"
  bottom: "action/anchor1/norm"
  top: "logits/anchor1"
  convolution_param {
    num_output: {{ num_actions }}
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
  }
}

layer {
  name: "logits/anchor2"
  type: "Convolution"
  bottom: "action/anchor2/norm"
  top: "logits/anchor2"
  convolution_param {
    num_output: {{ num_actions }}
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
  }
}

layer {
  name: "logits/anchor3"
  type: "Convolution"
  bottom: "action/anchor3/norm"
  top: "logits/anchor3"
  convolution_param {
    num_output: {{ num_actions }}
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
  }
}

layer {
  name: "logits/anchor4"
  type: "Convolution"
  bottom: "action/anchor4/norm"
  top: "logits/anchor4"
  convolution_param {
    num_output: {{ num_actions }}
    bias_term: false
    pad: 0
    kernel_size: 1
    stride: 1
  }
}
